PyZMQ:ØMQ 的 Python 绑定
该软件包包含了 ZeroMQ 的 Python 绑定。 ØMQ 是一种轻量级且快速的消息传递实现。
PyZMQ 应该能够兼容所有合理的 Python 版本(≥ 3.9)以及 PyPy。 PyZMQ 支持 libzmq ≥ 3.2.2(包括 4.x 版本)。
如需了解 pyzmq 的变更摘要,请查看我们的 changelog。
ØMQ 3.x、4.x
PyZMQ 完全支持在 zeromq/libzmq 开发的、处于稳定状态(非草案)的 libzmq 3.x 和 4.x API。 无需修改任何代码,也无需传递任何参数, 只需使用最新版本的库来构建 pyzmq,即可正常运行。
文档
有关 API 详情以及 Python 和 Cython 开发的相关说明,请查看 PyZMQ 通过 Sphinx 生成的 文档,地址为 Read the Docs。如果您想了解 ØMQ 的通用使用方法,优秀的 ØMQ Guide 是最佳入门资料,其中的每个示例都提供了 Python 版本。我们还在 wiki 上提供了一些相关信息。
下载
除非您确实需要开发 PyZMQ,否则我们建议从 PyPI 下载 PyZMQ 的源代码或预编译包, 或者使用 conda 进行安装。
您也可以从我们的 GitHub 仓库获取最新源代码,但直接从仓库构建则需要先安装最新版本的 Cython。
构建与安装
关于 pyzmq 构建的更多细节,请参阅 我们的文档。
我们会为 macOS、Windows 和 Linux 平台生成预编译包,因此您可以通过以下方式获取这些平台的二进制文件:
pip install pyzmq
但是,使用 pip install pyzmq 从源代码进行编译在大多数环境中应该都能正常工作。
请确保您使用的是最新版本的 pip,否则它可能找不到合适的 wheel 文件。
如果由于某些原因 wheel 文件无法使用,或者您希望强制编译 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 开始情况不再如此(毕竟这是第十三个版本,何不如此呢?)。 PyZMQ ≥ 13.0 遵循语义化版本控制规范,且仅考虑 PyZMQ 本身的版本变化。