OpenCV-Python ImportError: DLL load failed: The sp

2019-08-19 18:11发布

问题:

I am working on windows 10 with Python 3.6.0 (Anaconda3) and jupyter notebook. I have successfully installed and imported OpenCV-Python with the help of comments in this post. Now the problem is that If I am importing opencv (ijmport cv2) from the same command prompt where I installed the opencv, it is importing without any error. But if I am importing opencv from another command prompt, then it is giving me this error: ImportError: DLL load failed: The specified module could not be found.

I can't attach any picture to show this as my reputation is 3. So I am explaining it here.

Command 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
>>>

Command 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.
>>>

This is why, whenever I am opening new command prompt to start coding, I have to install opencv again and then use it. Hope this explaination helps in understanding the problem.

回答1:

You may try this conda install command for installing OpenCV 3.2.0 for Python 3.6. The conda-forge repository does have OpenCV 3.2.0 binary for 32-bit and 64-bit Windows.

conda install -c conda-forge opencv=3.2.0

If you need opencv_contrib modules, you can download the binary from this unoffice website and install it to Anaconda through pip install.

  • pip install opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win32.whl (x86 Win)
  • pip install opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win_amd64.whl (x64 Win)

Take note the package installed by pip will not be shown by conda list command.

Then type import cv2 in command prompt to verify if the installation is success as below.

If you have problem on import cv2, double check Windows Environment Variables setup as below.

  1. OPENCV_DIR points to your OpenCV executable files, e.g. C:\Program Files\OpenCV 3.2.0\x64\vc14
  2. PATH=%PATH%;%OPENCV_DIR%\bin


回答2:

I solved it accidently by doing these things: I typed in the command prompt: C:\Users\Prachi.................\Anaconda3\Scripts>> conda install -c conda-forge opencv This installed OpenCV 3.2.0-np113py36_203 conda-forge and the in the same command prompt I typed jupyter notebook. By this import cv2 was successful when wrote in Jupyter notebbok.