簡體   English   中英

錯誤導入 cv2 : ImportError: numpy.core.multiarray 導入失敗

[英]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.

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