- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的 mac os 中有两个版本的 python,第一个是 python2.7,这是系统默认自带的。后来我安装了我大部分时间使用的python3.7。
我最近使用 Homebrew 软件安装了 openCV。当我将 openCV 与 python2.7 一起使用时,它工作正常。
但问题是当我尝试将它与 python3 一起使用时。在 python3 中导入 cv2 会报错:ModuleNotFoundError: No module named '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 链接起来吗?
感谢帮助
最佳答案
抱歉,我无法为您提供具体信息,因为您的设置与我的不同,但我相信我们可以为您解决问题。
首先,当您安装软件包时,例如 OpenCV,它们往往会在某处创建一个名为 lib
的目录,其中包含您可以从该软件包调用的 C/C++ 函数.在该目录中,您通常会找到 “共享对象库”,在 macOS 上通常以 “XXX.so” 结尾。更有趣的是,它们还包含一个名为 site-packages
的子目录,其中包含 Python 绑定(bind)(链接)。因此,在我的系统(可能与您的系统不同)上,我可以找到所有那些 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 的所有 Python v3.7 绑定(bind)的候选者应该是。
很好,现在我们知道如何找到 Python 绑定(bind),我们需要告诉 Python 该信息。如何?嗯,并非没有道理,Python 会查看一个名为 PYTHONPATH
的环境变量来查找它的内容。因此,我们需要运用我们的技能和判断力,将我们在第一步中发现的内容与我们现在从第二步中了解到的内容结合起来。所以我们这样做:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.7/site-packages
一切都应该有效。我们需要做的就是将其放入我们的登录配置文件(可能是 $HOME/.profile
),我们将在每次登录时准备就绪。
关于python-3.x - 如何在 mac Os 中将 openCv 与 Python3 链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53886275/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!