我的mac os中有两个版本的python,第一个python2.7是系统附带的默认版本。后来,我安装了python3.7,我大部分时间都在使用它。
我最近用自制软件安装了openCV。当我将openCV与python2.7一起使用时,它正常工作。
但问题是,当我尝试将它与python3一起使用时。在cv2中导入python3会导致错误: ModuleNotFoundError:没有名为“cv2”的模块
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
Visit http://www.python.org/download/mac/tcltk/ for current
information.
>>> import cv2
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import cv2
ModuleNotFoundError: No module named 'cv2'
>>> 我能做些什么来将已安装的openCV与python3链接起来吗??
谢谢你的帮助
发布于 2018-12-31 19:11:35
对不起,我不能给你具体的,因为你的设置与我的不完全相同,但我相信我们可以帮你解决。
首先,当您安装包(如OpenCV )时,它们倾向于创建一个名为lib的目录,其中包含可以从该包调用的C/C++函数。在该目录中,通常会找到“共享对象库”,它通常以macOS上的“macOS”结尾。更有趣的是,它们还包含一个名为site-packages的子目录,它包含Python绑定(链接)。因此,在我的系统(可能与您的系统不同)上,我可以找到所有的site-packages目录,其中包括:
find / -type d -name site-packages 2>/dev/null样本输出
/usr/local/lib/python3.7/site-packages
/usr/local/lib/python2.7/site-packages
...
...
/usr/local/Cellar/tbb/2018_U5/lib/python2.7/site-packages
/usr/local/Cellar/vips/8.6.5/lib/python3.7/site-packages希望您可以看到,/usr/local/lib/python3.7/site-packages非常有可能成为OpenCV的PythonV3.7绑定的候选对象。
很好,现在我们知道了如何找到Python绑定,我们需要告诉Python这个信息。多么?好吧,不是不合理的,Python使用一个名为PYTHONPATH的环境变量来查找它的内容。所以,用我们的技能和判断,我们需要把我们在第一步中发现的东西和我们现在从第二步中知道的东西结合起来。所以我们会:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.7/site-packages一切都应该正常。我们所需要做的就是把它放在我们的登录配置文件(可能是$HOME/.profile)中,并且我们将准备好每次登录时都可以使用它。
https://stackoverflow.com/questions/53886275
复制相似问题