2017-06-21 189 views
0

我正在使用Python 3.6.0(Anaconda3)和jupyter筆記本在windows 10上工作。在這篇文章中,我已經成功安裝並導入了OpenCV-Python。 現在的問題是,如果我從安裝opencv的相同命令提示符處導入opencv(ijmport cv2),它將導入時不會出現任何錯誤。 但是,如果我從另一個命令提示符導入opencv,那麼它給了我這個錯誤: ImportError:DLL加載失敗:指定的模塊找不到。OpenCV-Python ImportError:DLL加載失敗:找不到指定的模塊

我不能附上任何圖片來顯示,因爲我的聲望是3.所以我在這裏解釋它。

命令PROMPT1:

C:\Users\Prachi\AppData\Local\Programs\Python\Python36- 
32\Anaconda3\Scripts>pip install opencv_python-3.2.0+contrib-cp36-cp36m- 
win_amd64.whl 
Processing C:\Users\Prachi\AppData\Local\Programs\Python\Python36- 
32\Anaconda3\Scripts>pip install opencv_python-3.2.0+contrib-cp36-cp36m- 
win_amd64.whl 
Installing collected packages: opencv-python 
    Found existing installation: opencv-python-3.2.0.7 
     Uninstalling opencv-python-3.2.0.7: 
      Successfully uninstalled opencv-python-3.2.0.7 
Successfully installed opencv-python-3.2.0+contrib 
C:\Users\Prachi\AppData\Local\Programs\Python\Python36- 
32\Anaconda3\Scripts>python 
Python 3.2.0 |Anaconda4.3.1(64-bit)| (default, Dec 23 2016, 11:47:51) [MSC 
v.1900 64-bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>>import cv2 
>>> 

命令PROMPT2:

C:\Users\Prachi\AppData\Local\Programs\Python\Python36- 
32\Anaconda3\Scripts>python 
Python 3.2.0 |Anaconda4.3.1(64-bit)| (default, Dec 23 2016, 11:47:51) [MSC 
v.1900 64-bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>>import cv2 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "C:\Users\Prachi\Anaconda3\lib\site-packages\cv2\__init__.py", line 7, 
in <module> 
    from . import cv2 
ImportError: DLL load failed: The specified module could not be found. 
>>> 

這就是爲什麼,每當我打開新的命令提示符開始編碼,我必須重新安裝OpenCV,然後使用它。 希望這個解釋有助於理解問題。

+0

在Anaconda提示符下嘗試安裝opencv-python時會出現什麼錯誤? – BoboDarph

+0

錯誤是:FileNotFoundError:在當前的win64通道中找不到該文件。我從這個鏈接http:// www下載了opencv。lfd.uci.edu/~gohlke/pythonlibs/#opencv我試過32位,64位,contrib +每種類型,但對於每個文件,上面的錯誤在那裏。 – Prachi

+0

如果在anaconda提示符下安裝opencv-python失敗,你可以嘗試手動安裝opencv3,按照https://stackoverflow.com/questions/38787748/installing-opencv-3-1-with-anaconda-python3或https ://rivercitylabs.org/up-and-running-with-opencv3-and-python-3-anaconda-edition/。還有一點觀察:從評論中我明白,不支持32位Linux系統。 – BoboDarph

回答

0

您可以嘗試使用conda install命令來安裝OpenCV 3.2.0 for Python 3.6conda-forge存儲庫的32-bit64-bit窗口確實有OpenCV 3.2.0二進制文件。

conda install -c conda-forge opencv=3.2.0 

如果需要opencv_contrib模塊,你可以從這個unoffice website下載二進制並通過pip install安裝到Anaconda

  • pip install opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win32.whl(86勝)
  • pip install opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win_amd64.whl(64勝)

注意到由PIP安裝的包將不會被conda list命令被顯示。

然後在命令提示符下鍵入import cv2以驗證安裝是否成功如下。 enter image description here

如果您有問題import cv2,請仔細檢查Windows Environment Variables設置如下。

  1. OPENCV_DIR指向您的OpenCV可執行文件,例如, C:\Program Files\OpenCV 3.2.0\x64\vc14
  2. PATH=%PATH%;%OPENCV_DIR%\bin
+0

我也是這樣做的:pip install opencv_python-3.2.0 + contrib-cp36-cp36m-win_amd64.whl但是當我安裝opencv時,無論是通過這種方法還是通過conda-forge的方法我上面說過,導入cv2都成功當我從相同的命令提示符打開jupyter筆記本。但是,當我從新的命令提示符打開jupyter筆記本,這是再次給我這個錯誤 - ImportError:DLL加載失敗:指定的模塊找不到。我必須首先安裝opencv,然後啓動jupyter筆記本嗎?這非常耗時。 – Prachi

+0

你能繼續在第一個啓動的Jupyter上編寫和運行'opencv'腳本嗎?如果你可以使用第一個Jupyter作爲'opencv',爲什麼你必須啓動第二個時刻?您可以從網絡或同一時刻運行多個筆記本電腦'.ipymb'。 – thewaywewere

+0

是的,當我在同一命令提示符下工作時,我能夠使用cv2工作,即導入cv2工作,但是當我從其他命令提示符運行jupyter筆記本時,它會給我那個dll錯誤。您建議在命令提示符下驗證它是否成功的方式不是。這在我安裝opencv的命令提示符下工作,但是當我打開其他文件並編寫導入cv2時,它給了我同樣的錯誤。我無法理解原因。 – Prachi

0

我解決它無意中做這些事情:我鍵入的命令提示符:C:\用戶\ Prachi ................. \ Anaconda3 \ Scripts >> conda install -c conda-forge opencv安裝了OpenCV 3.2.0-np113py36_203 conda-forge,並在同一命令提示符下鍵入jupyter筆記本。通過這個導入cv2在Jupyter notebbok中寫入成功。

相關問題