問題タブ [pypubsub]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
28878 参照

python - 推奨されるPythonのパブリッシュ/サブスクライブ/ディスパッチモジュール?

PyPubSubから:

Pypubsubは、Pythonアプリケーションがそのコンポーネントを分離するための簡単な方法を提供します。アプリケーションの一部は(データの有無にかかわらず)メッセージを公開でき、他の部分はメッセージをサブスクライブ/受信できます。これにより、メッセージ「送信者」とメッセージ「リスナー」がお互いに気付かないようになります。

  • 一方はもう一方をインポートする必要はありません
  • 送信者は知る必要はありません
    • 「誰が」メッセージを受け取る、
    • リスナーがデータをどのように処理するか、
    • または、リスナーがメッセージデータを取得する場合でも。
  • 同様に、リスナーはメッセージの送信元について心配する必要はありません。

これは、Model-View-Controllerアーキテクチャー、またはそのコンポーネントの分離を促進する同様のアーキテクチャーを実装するための優れたツールです。

PyPubSubからPyDispatcher 、単純な「家庭料理」クラスまで、Web上でフローティングを公開/サブスクライブするためのPythonモジュールがかなりあるようです。

異なるモジュールを比較する場合、特定の長所と短所はありますか?どのモジュールのセットがベンチマークされ、比較されましたか?

前もって感謝します

0 投票する
1 に答える
2698 参照

python - Python: 他のスレッドから通知されたイベントを管理するスレッド

Pythonでマルチスレッドアプリケーションを開発しています。特に、このアプリケーションでは、スレッドは 1 つ (または複数) のスレッドに通知されるイベントを生成できる必要があります。イベントの通知を受け取ったスレッドは、実行を中断して特定の機能を実行する必要があります。このサービス関数の最後に、イベントが生成される前に行っていたことに戻る必要があります。

このようなことを行うために、ある種のパブリッシュ/サブスクライブ モジュールを使用することを考えていました。非常に使いやすいPyPubSubを見つけました。ここでは、その使用方法に関する非常に簡単な例を見つけることができます。

ちなみに、これを使い始めたとき、私が探していたことができることに気付きましたが、それはプロセスだけで作業する場合のみです。それ以上のスレッドがある場合は、プロセス全体 (つまり、プロセス内のすべてのスレッド) を中断して、特定のルーチンを実行します。これは実際には私が探していた動作ではありません。残念ながら、アプリケーションをマルチスレッドからマルチプロセスに変更できません。

マルチスレッドアプリケーションで私がやろうとしていることを実行するのに役立つモジュールを知っていますか? ありがとう。

0 投票する
1 に答える
193 参照

python - py2exe で pubsub をコンパイルする

wx.lib.pubsub を使用します (Windows、Python 2.6)

インタープリターでアプリを実行すると、pubsub のバージョンは 1 になります

アプリをコンパイルして実行すると、pubsub のバージョンは 3 です

なんで ?コンパイルされたバージョンで pubsub api v1 を強制的に実行するにはどうすればよいですか?

0 投票する
1 に答える
87 参照

google-app-engine - アプリケーション内とアプリケーション間のパブリッシュ/サブスクライブ パターン

パブリッシュ/サブスクライブ システム (ActiveMQ、Google App Engine pub/sub、pypubsub など) は、主に異なるメモリ空間を持つ複数のマシンで実行されるアプリケーション間のメッセージ通信用ですか? それとも、単一のマシン内で実行されている単一のアプリケーションのコンポーネント間のメッセージ通信を効率的に処理するために使用できますか?

0 投票する
1 に答える
206 参照

python-3.x - Python 3 -- 引数のみのモジュールで kwargs を使用する

私は tkinter で GUI を作成し、パブリッシュ/サブスクライブ モジュール (pyPubSub) を使用して、サブスクライブされている場合に何が起こっているかをプログラムのさまざまな部分に通知しています。したがって、連携する必要がある 2 つの機能があります。tkinterから、私は使用しています:

メインループ内で送信するメッセージを呼び出します。ご覧のとおり、コールバックに送信する引数として *args のみを受け入れます。私が送信しているコールバックは pyPubSub からのものです:

だから、私はこれで終わります:

私の質問は、引数をkwargsで機能させるにはどうすればよいですか? コールバックで送信するには、位置引数を指定して after_idle を呼び出す必要がありますが、コールバックにはキーワード引数のみが必要です。

0 投票する
4 に答える
2734 参照

python - wx.lib.pubsub での Pyinstaller とインポートの問題

私のPython GUIアプリは完全に動作しますが、実行可能ファイルを作成しようとすると、pyinstaller (3.3.dev0+483c819) コマンドで試しました:

次の問題が発生します。

実行可能ファイルは「正常に」作成されましたが、起動すると次のエラーが表示されます。

hookspath を追加しようとしましたが、仕様ファイル (wx.lib.pubsub のフックが既に pyinstaller フック フォルダーに存在します) が機能しませんでした。または、何か問題がありました。

wx およびその他のサブモジュールをインポートする順序はありますか。私は自分のコードにこれを持っています