9

I have been working on this error for a long time now. I have Python 3.6 and Python 2.7. I have tried to install opencv 2 and 3 in Python 2.7 and Python 3.6 respectively. I know the python interpreter I am using and I can interchange between them when I want.

When I run Python interpreter and write import cv2 it does import it. When I run the code from command prompt it says ModuleNotFoundError: No module named 'cv2'. The module is installed. The cv2.pyd file is in C:\Python27\Lib\site-packages I have attached a screen shot which shows the modules in Python27

enter image description here

I have used pip install opencv-python. I have downloaded the module from different sites and manually copy pasted it in the correct folder. Nothing works and I am seriously short of ideas now.

EDIT: I am on windows 10 with python 3.6 installed through anaconda and python 2.7 installed directly. Both have their variables set in the path

hkhan
  • 803
  • 2
  • 18
  • 41
  • it doesn't work for python 2 or python 3, or both? have you tried passing the absolute path for `pip` (in scripts) – Jean-François Fabre Oct 20 '17 at 17:30
  • 1
    ```I have downloaded the module from different sites and manually copy pasted it in the correct folder.``` What?? Why?? That's not how it is supposed to be. – sascha Oct 20 '17 at 17:30
  • @Jean-FrançoisFabre works for python3 not for python 2. The code I am running only works for python 2. – hkhan Oct 20 '17 at 17:35
  • @sascha I know!!! now you can understand how frustrated I am to do this – hkhan Oct 20 '17 at 17:35
  • Simplest possible experiment: Using the same `python` that you can manually import `cv2` from, if you have a one-line `test.py` that reads `import cv2`, does `python test.py` produce the import error? – Dave W. Smith Oct 21 '17 at 17:10
  • https://stackoverflow.com/questions/54147922/no-module-named-cv2-but-it-is-installed – Tevin Mukudi Jul 29 '21 at 03:14

3 Answers3

13

In Windows 10 you can install it as

pip install opencv-python

this will allow you to import cv2 module

Mikeologist
  • 369
  • 3
  • 11
4

Faced with the same issue on Windows 10 I downloaded the open cv binary from the Unofficial Windows Binaries for Python Extension Packages.

Search the page for opencv and for and download the correct .whl for your system. Then pip install it. By example, on my system, after opening a cmd window I typed the following.

pip install opencv_python-3.4.1-cp36-cp36m-win_amd64.whl

I then opened python and the following worked

import cv2
print(cv2.__version__)

More info is available in this Mark Jay video.

:D

SpeedCoder5
  • 7,005
  • 5
  • 29
  • 33
  • Not working. I downloaded the latest .whl from the above mentioned link and installed it. When I did import cv2 it was still not able to find it. So added this line in the code to point to the installed location. Then I was able to import cv2 successfully but then when I tried to use imread parameter I got the error "AttributeError: module 'cv2' has no attribute 'imread'". Any idea where I am doing wrong ? – JKC Feb 05 '20 at 17:33
  • Does this answer help [SO:a/47859122](https://stackoverflow.com/a/47859122)? – SpeedCoder5 Feb 05 '20 at 19:12
0

@SpeedCoder5's solution applies only to Windows users. I am however on macOS (specifically macOS Monterey) and I managed to solve this issue by using the Jupyter Notebook extension in VS Code (Python 3.9) after I installed cv2 with

pip install opencv-python

screenshot of jupyter notebook oj vscode

Gino Mempin
  • 19,150
  • 23
  • 79
  • 104
plamen.st
  • 1
  • 3