2015-12-02 108 views
1

ImportError: DLL load failed: %1 is not a valid Win32 application導入CV2:DLL加載失敗(Python在Windows 64位)

有誰知道如何解決這個問題?當我試圖導入cv2時,會發生此問題。我的筆記本電腦是64位,並安裝了64位Python,我也把cv2.pyd文件放在Python的site-packages文件夾中。

PYTHONPATH值= C:\Python35;C:\Python35\DLLs;C:\Python35\Lib;C:\Python35\libs;C:\Users\CV\OpenCV\opencv\build\python\2.7\x64;%OPENCV_DIR%\bin;

OPENCV_DIR值= C:\Users\CV\OpenCV\opencv\build\x64\vc12

我也把我的PYTHONPATH和我opencv_dir的參考PATH通過將**%PYTHONPATH%;%PYTHONPATH%\Scripts\;%OPENCV_DIR%;**

我也裝opencv_python-3.0.0 + contrib-cp35-none-win_amd64通過pip安裝和命令行。

這些都不能解決我的問題。

+0

是在參考了系統'PATH'或'PYTHONPATH'你的 「蟒蛇路徑」?其中一些目錄(例如,DLL,Lib,libs)應該不在這些環境變量中。 – eryksun

+0

@eryksun我編輯了我的問題,是的它在PATH – xzbxxzxzmn

+0

引用不要在你的'PYTHONPATH'中包含'C:\ Python35; C:\ Python35 \ DLLs; C:\ Python35 \ Lib; C:\ Python35 \ libs' 。由於'PYTHONPATH'沒有版本控制,它也不應該有任何具有特定實現模塊的目錄,例如'C:\ Users \ CV \ OpenCV \ opencv \ build \ python \ 2.7 \ x64'。我也懷疑'%OPENCV_DIR%\ bin'包含Python模塊。它可能需要在系統PATH上查找DLL。 – eryksun

回答

1

(發佈作爲社區的答案,可以防止系統autodeleting問題@eryksun評論)

Gohlke's cv2.cp35-win_amd64.pyd depends on MSVCP140.dll, the C++ runtime library.

Was that the DLL you need?

The installer for Python 3.5 doesn't include this DLL, so in that case you probably had to install the VC++ 2015 redistributable package .

+0

沒有解決我的問題................ –

2

多一點複雜的答案的人來到這裏(像我)在未來:

  1. 卸載opencv-python,例如通過pip uninstall opencv-python
  2. 卸載所有 Visual Studio的C++封裝
  3. microsoft下載新的Visual Studio和安裝
  4. gohlke下載您匹配的蟒蛇WHL並安裝使用例如pip install opencv-python-3.2.0+contrib
  5. 現在,它應該工作...
相關問題