在 MacOS M1 Pro 12.1 Monterey 中安装pymqi
,在 virtualenv 中安装 Python 3.9.9,通常的嫌疑人再次出现:
Traceback (most recent call last):
File "/Users/a.gounaris/.virtualenvs/mxhub39/lib/python3.9/site-packages/pymqi/__init__.py", line 132, in <module>
from . import pymqe # type: ignore
ImportError: dlopen(/Users/a.gounaris/.virtualenvs/mxhub39/lib/python3.9/site-packages/pymqi/pymqe.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '_MQBACK'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/a.gounaris/.virtualenvs/mxhub39/lib/python3.9/site-packages/pymqi/__init__.py", line 134, in <module>
import pymqe # type: ignore # Backward compatibility
ModuleNotFoundError: No module named 'pymqe'
所有路径都已就位/opt/mqm/bin:/opt/mqm/samp/bin
,Python 会看到 env 变量os.environ['DYLD_LIBRARY_PATH']=='/opt/mqm/lib64'
使用 --verbose 标志重新安装 pymqi 后,出现以下警告:
ld: warning: ignoring file /opt/mqm/lib64/libmqic_r.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
可能是在 M1 Pro Silicon 平台的平面命名空间“_MQBACK”中找不到异常符号的根本原因?它说ibmqic_r.dylib
被忽略。
为 macOS-arm64 构建的新版 MacOS Toolkit 会解决这个问题吗?
另一种选择 - 从理论上讲 - 可能是按照本文中的建议使用 Rosetta 2 运行 macOS-x86_64 的构建,我不知道该怎么做。
任何帮助将不胜感激。