首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mac Os中将openCv与Python3连接起来

如何在mac Os中将openCv与Python3连接起来
EN

Stack Overflow用户
提问于 2018-12-21 14:17:22
回答 1查看 816关注 0票数 3

我的mac os中有两个版本的python,第一个python2.7是系统附带的默认版本。后来,我安装了python3.7,我大部分时间都在使用它。

我最近用自制软件安装了openCV。当我将openCV与python2.7一起使用时,它正常工作。

但问题是,当我尝试将它与python3一起使用时。在cv2中导入python3会导致错误: ModuleNotFoundError:没有名为“cv2”的模块

代码语言:javascript
复制
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链接起来吗??

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2018-12-31 19:11:35

对不起,我不能给你具体的,因为你的设置与我的不完全相同,但我相信我们可以帮你解决。

首先,当您安装包(如OpenCV )时,它们倾向于创建一个名为lib的目录,其中包含可以从该包调用的C/C++函数。在该目录中,通常会找到“共享对象库”,它通常以macOS上的“macOS”结尾。更有趣的是,它们还包含一个名为site-packages的子目录,它包含Python绑定(链接)。因此,在我的系统(可能与您的系统不同)上,我可以找到所有的site-packages目录,其中包括:

代码语言:javascript
复制
find / -type d -name site-packages 2>/dev/null

样本输出

代码语言:javascript
复制
/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的环境变量来查找它的内容。所以,用我们的技能和判断,我们需要把我们在第一步中发现的东西和我们现在从第二步中知道的东西结合起来。所以我们会:

代码语言:javascript
复制
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.7/site-packages

一切都应该正常。我们所需要做的就是把它放在我们的登录配置文件(可能是$HOME/.profile)中,并且我们将准备好每次登录时都可以使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53886275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档