1

pip install py3mqi 失败并出现以下错误。

(mq) C:\Temp\>pip install py3mqi
Collecting py3mqi
  Downloading https://files.pythonhosted.org/packages/5a/b7/cbe684e6a2a7f00dee116392d38c17c03b8281a8b5a021b655833233de26/py3mqi-1.6.0.tar.gz (65kB)
     |████████████████████████████████| 71kB 770kB/s
Building wheels for collected packages: py3mqi
  Building wheel for py3mqi (setup.py) ... error
  ERROR: Complete output from command 'c:\users\dhdyk0\envs\mq\scripts\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\dhdyk0\\AppData\\Local\\Temp\\pip-install-jmsvk9ya\\py3mqi\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\dhdyk0\AppData\Local\Temp\pip-wheel-3y2i7hfm' --python-tag cp36:
  ERROR: Building PyMQI client 32bits
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win32-3.6
  creating build\lib.win32-3.6\pymqi
  copying pymqi\__init__.py -> build\lib.win32-3.6\pymqi
  copying pymqi\CMQC.py -> build\lib.win32-3.6\pymqi
  copying pymqi\CMQCFC.py -> build\lib.win32-3.6\pymqi
  copying pymqi\CMQXC.py -> build\lib.win32-3.6\pymqi
  copying pymqi\CMQZC.py -> build\lib.win32-3.6\pymqi
  running build_ext
  building 'pymqi.pymqe' extension
  error: [WinError 3] The system cannot find the path specified: 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\PlatformSDK\\lib'

我尝试安装 pymqi 和 py3mqi ,但我遇到了同样的错误。我正在使用 Python 3.6,32 位。另外,我安装了 MQ 客户端以及 Visual Studio 15。我的磁盘上有以下路径:C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC,但PlatformSDK\\lib丢失了。

4

2 回答 2

1

正如 JoshMC 所说pymqi,现在支持 Python 3,并且应该是您正在使用的。 pymqi绑定到 MQI C 层,并且在安装时需要访问 MQ C 头文件以及 C 编译器/链接器。

当尚未安装 Windows 平台 SDK 时,您收到的错误是常见的 Visual Studio 错误。本质上安装 Visual Studio 并不意味着您已经安装了 C/C++ 编译器,您也需要这样做。

于 2019-07-19T09:16:38.607 回答
0

您是否考虑过尝试使用 python 和 c 包安装 Visual Studio 2019?

这是某些软件包所需要的。

另一个可能的选择是,py3mqi 不适用于 Python 3.6。*

于 2019-07-18T15:49:42.590 回答