我按照本教程安装opencv:https://medium.com/@nuwanprabhath/installing-opencv-in-macos-high-sierra-for-python-3-89c79f0a246a
我有两个不同的虚拟环境设置。在
在一个cv2工作正常。 另一个我得到:
ImportError: dlopen(/Users/me/.virtualenvs/py3cv/lib/python3.6/site-packages/cv2.so, 2): no suitable image found. Did find:
/Users/me/.virtualenvs/py3cv/lib/python3.6/site-packages/cv2.so: mach-o, but wrong architecture
/usr/local/Cellar/opencv/3.4.1_5/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so: mach-o, but wrong architecture
工作口译员显示:
^{pr2}$当我进入python时。
当我运行import ctypes;print(ctypes.sizeof(ctypes.c_void_p))
{cd2>得到}
打破的一个显示:
Python 3.6.4 (v3.6.4:d48ecebad5, Dec 18 2017, 21:07:28)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
当我运行import ctypes;print(ctypes.sizeof(ctypes.c_void_p))
时:
我得到:4
有什么问题吗?在
name -a
的输出
Darwin MyMBP 17.5.0 Darwin Kernel Version 17.5.0: Fri Apr 13 19:32:32 PDT 2018; root:xnu-4570.51.2~1/RELEASE_X86_64 x86_64
要使一个.so(共享对象)被可执行文件成功加载,它们的体系结构必须匹配(在OSX上,这可以扩展为:.so必须“包含”可执行文件的体系结构-作为。因此可以将多个体系结构捆绑在内部)。在
您安装的OpenCV版本是为英特尔64位构建的。这就是它在64位Python上工作的原因,但在32位的Python上却不行。在
有关Python体系结构的更多详细信息,请选中[SO]: How do I determine if my python shell is executing in 32bit or 64bit mode on OS X? (@CristiFati's answer)。在
相关问题 更多 >
编程相关推荐