このパッケージには、ZeroMQ の Python バインディングが含まれています。 ØMQ は軽量で高速なメッセージング実装です。
PyZMQ は、PyPy だけでなく、適切なバージョンの Python (3.7 以上) でも動作するはずです。 CPython で使用される Cython バックエンドは libzmq ≥ 2.1.4 (3.2.x および 4.x を含む) をサポートしますが、PyPy で使用される CFFI バックエンドは libzmq ≥ 3.2.2 (4.x を含む) のみをサポートします。
pyzmq への変更の概要については、変更ログを参照してください。
PyZMQ は、zeromq/libzmq で開発された libzmq の 3.x および 4.x API を完全にサポートしています。コードを変更したり、フラグを渡したりする必要はなく、最新のものに対して pyzmq をビルドするだけで動作するはずです。
PyZMQ は、PyPy 上の古い libzmq 2 API をサポートしていません。
API の詳細と、Python および Cython 開発に関する注意事項については、「ドキュメントを読む」で PyZMQ の Sphinx で生成されたドキュメントを参照してください。 ØMQ の使用法全般について学びたい場合は、すべての例の Python バージョンが掲載されている優れた ØMQ ガイドから始めるのがよいでしょう。ウィキにもいくつかの情報があります。
特に PyZMQ を開発したい場合を除き、PyPI から PyZMQ ソース コードまたはホイールをダウンロードするか、conda を使用してインストールすることをお勧めします。
GitHub リポジトリから最新のソース コードを入手することもできますが、リポジトリからビルドするには最新の Cython をインストールする必要があります。
pyzmq の構築の詳細については、ドキュメントを参照してください。
私たちは macOS、Windows、Linux 用のホイールを構築しているため、次の方法でこれらのプラットフォームでバイナリを入手できます。
pip install pyzmq
ただし、 pip install pyzmq
使用してソースからコンパイルすると、ほとんどの環境で機能するはずです。最新の pip を使用していることを確認してください。そうしないと、適切なホイールが見つからない可能性があります。
何らかの理由でホイールが機能しない場合、または pyzmq を強制的にコンパイルしたい場合 (すでに libzmq がインストールされ、希望どおりに構成されている場合は、これが望ましいことがよくあります)、次のコマンドを使用してソースからインストールを強制できます。
pip install --no-binary=pyzmq pyzmq
pyzmq 16 ドロップでは、Python 2.6 および 3.2 がサポートされます。これらの Python バージョンのいずれかを使用する必要がある場合は、pyzmq バージョンを 16 より前に固定できます。
pip install 'pyzmq<16'
libzmq 2.0.x の場合は、「pyzmq<2.1」を使用します。
pyzmq-2.1.11 は、Python 2.5 をサポートする pyzmq の最後のバージョンであり、pyzmq ≥ 2.2.0 には Python ≥ 2.6 が必要です。 pyzmq-13.0.0 では、CFFI を介した PyPy サポートが導入されていますが、これは libzmq-3.2.2 以降のみをサポートします。
PyZMQ リリース 2.2.0 以下は libzmq のバージョン管理と一致していましたが、PyZMQ 13.0.0 以降はそうではなくなりました (これは 13 番目のリリースでした。なぜそうではないのでしょうか?)。 PyZMQ ≥ 13.0 は、PyZMQ 自体のみを考慮したセマンティック バージョニング規則に従います。