![](/img/trans.png)
[英]ImportError: numpy.core.multiarray failed to import (cv2)
[英]Error import cv2 : ImportError: numpy.core.multiarray failed to import
我是 Ubuntu 的新手,我正在嘗試在 Jupyter Notebook 中使用 OpenCV 模塊。
運行時出現消息錯誤:
import cv2
消息錯誤是:
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
RuntimeError: module compiled against API version a but this version of numpy is 9
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-20-72fbbcfe2587> in <module>()
----> 1 import cv2
ImportError: numpy.core.multiarray failed to import
我在 stackoverflow 上從其他用戶那里讀到了一些類似的問題。 此問題通常來自錯誤的 numpy 版本。 我檢查並使用 numpy 1.9.2:
numpy.version.version
Out[22]:'1.9.2'
從我從其他帖子中了解到,1.8 及以上版本應該足夠了。 有沒有人知道可能有什么問題?
有關信息,我的 Python/Anaconda 版本是
print sys.version
2.7.10 |Anaconda 2.3.0 (64-bit)| (default, Sep 15 2015, 14:50:01)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
感謝您對此事的任何幫助!
在 MacOS 上安裝 OpenCV 時,我收到了一條說明:
The following NEW packages will be INSTALLED:
opencv: 2.4.8-np17py27_2
The following packages will be DOWNGRADED:
numpy: 1.10.2-py27_0 --> 1.7.1-py27_2
Proceed ([y]/n)? y
我收到了您提到的相同 ipython 錯誤。 在通常的conda update anaconda
,我現在在 numpy 1.10.1 上,並且在我的 ipython-notebook 中導入 numpy 和 cv2 。 為什么你的會話會顯示當前的 numpy 我不清楚(在conda update numpy
之后可能會發生類似的事情,這可能會產生不一致的鏈接)。
如果您在 virtualenv 中工作,那么您在 virtualenv 之外安裝了 opencv,這就是我的情況,請確保在內部和外部使用相同版本的 numpy。
您可以使用以下命令強制 pip 安裝確切版本,例如1.10.0.post2 :
pip install numpy==1.10.0.post2
在 virtualenv 內外運行它,然后再次嘗試導入。
在 El-Capitan OS 上,如果你會點擊命令
pip install -U numpy
它很可能不會升級 numpy 模塊。 原因是 El-Capiton 已經附帶了一些 python 模塊(例如六個),因此它不允許您刪除這些模塊的舊版本並用新版本替換它(這就是“-U”標志中的以上命令正在嘗試執行)。 由於系統完整性保護,即使具有 root 權限也不允許。
因此,為了克服這個問題,我目前正在使用 virtualenv(安裝和使用 virtualenv : 文章),並且在我的 virtualenv 中,我正在點擊安裝命令。 現在在 virtualenv 中,一切對我來說都很好。
PS:您可能還會在其他一些 pip 軟件包安裝中收到錯誤,這些軟件包將嘗試升級系統軟件包(例如,當您安裝 virtualenvwrapper 時)。 因此,要安裝 virtualenvwrapper,請使用“--ignore-installed”標志點擊 pip install 命令。
pip install --ignore-installed package-name-here
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.