来自Software Engineering Stack Exchange的

This question was migrated,因为可以在Stack Overflow上进行回答。
                            Migrated 6年前。
                        
                    
                
                            
                    
我已经在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绑定及其库。
如果epel中具有/etc/yum.repos.d/存储库,则可以像这样使用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/

10-09 18:53