簡體   English   中英

如何在Mac OS中將openCv與Python3鏈接

[英]How to link openCv with Python3 in mac Os

我的Mac OS中有兩個版本的python,第一個python2.7是系統隨附的默認版本。 后來我安裝了大部分時間使用的python3.7。

我最近使用自制軟件安裝了openCV。 當我在python2.7中使用openCV時,它可以正常工作。

但是問題是當我嘗試將其與python3一起使用時。 在python3中導入cv2會產生錯誤: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鏈接?

謝謝您的幫助

抱歉,我無法提供具體信息,因為您的設置與我的設置不同,但是我相信我們可以幫助您解決問題。

首先,當您安裝諸如OpenCV之類的軟件包時,它們傾向於在一個名為lib的目錄中創建一個目錄,其中包含可從該軟件包調用的C / C ++函數。 在該目錄中,通常可以找到“共享對象庫” ,該通常在macOS上以“ XXX.so”結尾。 更有趣的是,它們還包含一個名為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的所有Python v3.7綁定。

好,所以現在我們知道了如何找到Python綁定,我們需要告訴Python該信息。 怎么樣? 嗯,並非沒有道理,Python會查看一個名為PYTHONPATH的環境變量來查找其內容。 因此,利用我們的技能和判斷力,我們需要將第一步中發現的內容與第二步中已知的內容結合起來。 因此,我們這樣做:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.7/site-packages

一切都應該工作。 我們需要做的就是將其放入我們的登錄配置文件(可能是$HOME/.profile )中,並且每次登錄時我們都准備就緒。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM