我已经在 sles11 sp2 X86_64 上安装了 qpid-0.22,代理工作正常。 然后我安装了 qpid-python 客户端并设置了 env 变量。 PYTHONPATH=/home/zdx/qpid/qpid-0.22/python/:/usr/local/lib/python2.7:/usr/local/lib/python2.7/site-packages:/home/zdx/qpid/qpid -0.22/ python
但是python客户端不行,包括qpid-config工具和qpid-python客户端测试例子。 当我运行这种脚本时,它显示了以下异常:
回溯(最近调用最后):
文件“/usr/local/bin/qpid-config”,第 31 行,在
from qpid.messaging import Connection
文件“/usr/local/lib/python2.7/site-packages/qpid/init.py”,第 20 行,在
import connection
文件“/usr/local/lib/python2.7/site-packages/qpid/connection.py”,第 20 行,在
import datatypes, session
文件“/usr/local/lib/python2.7/site-packages/qpid/session.py”,第 26 行,在
from ops import Command, MessageTransfer
ImportError: 无法导入名称 MessageTransfer
表示ops模块中不存在类或模块MessageTransfer, 我查看了 python 模块 ops.py,没有 MessageTransfer 类。
它有什么问题?谢谢。
最佳答案
即使您正确安装了命令行工具,有时也会出现此错误。
这意味着您需要安装 python-qpid
绑定(bind)及其库。
如果您的 /etc/yum.repos.d/
中有 epel
存储库,您可以像这样使用 yum
直接安装软件包。
# yum search python-qpid
在搜索结果中,根据您的操作系统(32 位/64 位)选择软件包。
然后安装包。
# yum install python-qpid..... (python-qpid-proton.x86_64, etc..)
如果你没有epel
,先把epel
安装到你的/etc/yum.repos.d/
然后安装包裹
关于python - [qpid]qpid-python 客户端不适用于 qpid-0.22,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17754152/