导入pymqe时出现ImportError: 找不到指定的模块。

3
我正在尝试在Python上安装Websphere MQ客户端和PYMQI,以通过队列发送/接收消息。
环境变量已经自动设置好了。
我已经安装了IBM MQ CLient V8.0.11,并且没有出现任何问题。
然后,我继续安装(pip install pymqi),看起来也很顺利。
import pymqi

qmgr = pymqi.connect('QM.1', 'SVRCONN.CHANNEL.1', '192.168.1.121(1434)')

putq = pymqi.Queue(qmgr, 'TESTQ.1')
putq.put('Hello from Python!')

当我尝试在Pycharm中运行此代码时,出现以下错误: enter image description here
3个回答

2

我刚遇到了这个问题,从我的角度来看,原因是Linux需要加载mq dll库,但系统不知道dll库的路径,我已经将其添加到

vi /etc/ld.so.conf.d/libc.conf

在这个文件中添加两行: /opt/mqm/lib64 和 /opt/mqm/lib(根据您的 IBM MQ 库的安装位置而定):

# libc default configuration
/usr/local/lib
/opt/mqm/lib64
/opt/mqm/lib

然后运行 ldconfig 加载更新的配置:
root@ubuntu:/ibmmq# ldconfig

然后问题就被解决了。


对我来说很有效,我刚刚写了这些行到新的 /etc/ld.so.conf.d/mq.conf 文件中,并运行了 ldconfig 命令。 - undefined

0

解决此问题的方法是安装最新的MQ客户端。然后使用以下命令通过pip重新安装pymqi:

pip install pymqi --no-cache-dir

安装了客户端后,pip将可以访问下面列出的路径,这些路径对于成功编译pymqi是必需的: C:\Program Files\IBM\MQ\bin64 C:\Program Files\IBM\MQ\bin C:\Program Files\IBM\MQ\tools\c\samples\bin64 C:\Program Files\IBM\MQ\tools\c\samples\bin


0
由于提示,我猜测您的客户端是在Windows上运行。在安装pymqi库之前,您需要将包含exe、cmd和dll文件的MQ Client目录添加到PATH中。您可以通过运行setmqenv -s来轻松实现这一点。
如果您在将dll(lib64)目录添加到PATH之前尝试安装pymqi,则需要重新安装它,但请确保使用--no-cache-dir选项强制重新安装。如果没有--no-cache-dir,pip install只会获取您初始尝试中创建的错误对象文件。

1
是的,我的客户端安装在Windows系统上。在安装WebSphere MQ客户端v8.0.11之后,路径变量会自动添加。我还尝试执行setmqenv -s命令。没有收到错误消息,但不确定是否已经进行了所需的更改。最后,我使用no_cache_dir命令安装了PYMQI,但在运行代码时仍然遇到相同的错误。 - undefined
它是 --no-cache-dir 而不是 no_cache_dir。如果安装快速且没有网络流量,那么你仍然在使用缓存。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接