Không thể tìm thấy mô-đun cv2 khi sử dụng OpenCV


264

Tôi đã cài đặt OpenCV trên hệ điều hành Occidentalis (một biến thể của Raspbian) trên Raspberry Pi, sử dụng tập lệnh của jayrambhia được tìm thấy ở đây . Nó đã cài đặt phiên bản 2.4.5.

Khi tôi thử import cv2trong một chương trình Python, tôi nhận được thông báo sau:

pi@raspberrypi~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in <module>
    import cv2
ImportError: No module named cv2

Các tập tin cv2.sođược lưu trữ trong/usr/local/lib/python2.7/site-packages/...

Ngoài ra còn có các thư mục /usr/local/libđược gọi là python3.2 và python2.6, đây có thể là một vấn đề nhưng tôi không chắc chắn.

Đây có phải là một lỗi đường dẫn có lẽ? Bất kỳ trợ giúp đều được đánh giá cao, tôi là người mới đối với Linux.


3
thử: trăn - đảo ngược. nếu nó nói 3.2, thì bạn có một gợi ý. cố gắng xác định vị trí thực thi 2.7 và gọi nó bằng một đường dẫn tuyệt đối
berak

3
Đối với macOS 10.12 và python 3, lệnh đơn giản dưới đây đã hoạt động để khắc phục lỗi: pip install opencv-python Tham khảo: pypi.python.org/pypi/opencv-python
Tushar

Nếu bạn đang sử dụng macOS Catalina, có lẽ điều này có thể giúp bạn stackoverflow.com/a/61578366/11559619
NicolasElPapu

Câu trả lời:


346

Đầu tiên hãy chạy các lệnh này bên trong Terminal / CMD:

conda update anaconda-navigator  
conda update navigator-updater  

sau đó vấn đề cho hướng dẫn bên dưới sẽ được giải quyết

Đối với các cửa sổ nếu bạn đã cài đặt Anaconda, bạn chỉ cần làm

pip install opencv-python

hoặc là

conda install -c https://conda.binstar.org/menpo opencv

nếu bạn đang dùng linux, bạn có thể làm:

pip install opencv-python

hoặc là

conda install opencv 

Liên kết1 Liên kết2

Đối với python3.5 + kiểm tra những liên kết này: Link3 , link4


7
đối với linux, bạn nên gõ 'pip install opencv-python' hoặc 'sudo pip install opencv-python'
Oz Radiano

12
Bạn đã nhận lệnh sai. Đó là sudo pip3 install opencv-python. Ngoài ra, đối với linux, bạn phải chạy nó như sudo pip3 install opencv-pythonpython 3 và sudo pip install opencv-pythonpython 2. Bạn không cần sudo ở đầu lệnh nếu bạn thực hiện sudo -iforst hoặc đang chạy bằng root theo cách nào đó.
Stiffy2000

2
Nếu gặp sự cố trong khi cài đặt, hãy đảm bảo rằng bạn có phiên bản mới nhất của pip, pip install --upgrade pipđây là
wedge

4
pip install opencv-pythonlàm việc cho tôi và tôi không có Anaconda. Chỉ cần FYI cho bất cứ ai khác đến đây.
tilper


73

Điều này xảy ra khi python không thể tham chiếu đến thư mục gói trang mặc định của bạn, nơi bạn đã giữ các tệp hoặc thư viện python cần thiết

Thêm các dòng này trong mã:

import sys

sys.path.append('/usr/local/lib/python2.7/site-packages')

hoặc trước khi chạy lệnh python trong bash di chuyển đến thư mục /usr/local/lib/python2.7/site-packages . Đây là một công việc xung quanh nếu bạn không muốn thêm bất kỳ điều gì vào mã.


1
Bạn đang làm việc trên windows? Đường dẫn này trông giống như ở hệ thống linux.
FavourMylike

1
câu hỏi là về hệ điều hành Raspbian, đó là Linux.
Midhun

2
Làm việc cho tôi trên máy mac
cát

nó hoạt động trong một phiên, nhưng nếu tôi thoát và khởi chạy lại python, tôi phải làm lại. Làm thế nào để lưu sửa đổi này?
Mostafa

Tôi nhận được "ImportError: numpy.core.multiarray không thể nhập" khi tôi làm điều này. Bất kỳ đề xuất?
hiquetj

45

Tôi đã giải quyết vấn đề của mình bằng lệnh sau:

conda install opencv

6
Nếu bạn đã cài đặt Anaconda Python, đây là lệnh bạn đang tìm kiếm.
kevinmicke

Tôi đã thử điều này ngày hôm nay trên môi trường conda Windows 64-bit 2.7 và nhận đượcPackageNotFound error
Mike Wise

2
Những gì đã làm làconda install -c https://conda.binstar.org/menpo opencv
Mike Wise

40

Cố gắng thêm dòng sau vào ~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

2
Cảm ơn, nó hoạt động với tôi khi được sử dụng: xuất PYTHONPATH = / usr / local / python / 2.7: $ PYTHONPATH
Ikbel


21

Không có câu trả lời nào ở trên làm việc cho tôi. Tôi đã phát điên cho đến khi tôi tìm thấy giải pháp này dưới đây!

Đơn giản chỉ cần chạy:

sudo apt install python-opencv

14

Đối với Windows 10 và Python 3.6, điều này làm việc với tôi

pip install opencv-contrib-python


1
Làm việc cho tôi trên Linux (Ubuntu 16.04) cũng vậy
FlorianH

13

Tôi đã giải quyết vấn đề của mình bằng lệnh sau:

pip install opencv-python

9

Tôi giải quyết nó bằng cách chạy:

pip3 install opencv-python

7

Tôi đã gặp vấn đề tương tự như vấn đề này, tôi đã cài đặt cv2

pip install cv2

Tuy nhiên khi tôi nhập mô-đun cv2, nó không hiển thị lỗi mô-đun có tên cv2.
Sau đó, tôi đã tìm kiếm và tìm cv2.pydcác tập tin trong máy tính của mình và tôi sao chép và dán vào thư mục gói trang web

C:\Python27\Lib\site-packages

sau đó tôi đóng và mở lại ứng dụng hiện có, nó hoạt động.

EDIT tôi sẽ cho biết làm thế nào để cài đặt cv2chính xác.

1. Trước tiên hãy cài đặt numpy trên máy tính của bạn bằng cách

pip install numpy


2. Tải opencv từ internet (gần 266 mb).
Tôi tải về opencv-2.4.12.execho python 2.7. Sau đó cài đặt tệp opencv-2.4.12.exe này.
Tôi giải nén vào C:\Users\harun\Downloadsthư mục này.
Sau khi cài đặt, hãy tìm trong cv2.pycác thư mục.
Cho tôi

C:\Users\harun\Downloads\opencv\build\python\2.7\x64

trong thư mục này lấy cv2.pydvà sao chép nó vào

C:\Python27\Lib\site-packages

bây giờ bạn có thể sử dụng cv2trong các kịch bản python của bạn.


Tôi không nghĩ gói cv2được cài đặt thông qua pipcó liên quan gì không openCV, bạn xác nhận?
epsilones

@Newben xin lỗi vì phản hồi muộn. trong phần EDIT tôi nói về cách cài đặt opencv chính xác. tôi ước nó sẽ giúp bạn nếu bạn chưa giải quyết được vấn đề
Harun ERGUL

5

Nếu muốn cài đặt opencv trong môi trường ảo. Chạy lệnh trong thiết bị đầu cuối để có được danh sách môi trường ảo.

conda env list

hoặc lệnh máy tính xách tay jupyter là

!conda env list

Sau đó cập nhật Anaconda của bạn.

conda update anaconda-navigator
conda update navigator-updater

Cài đặt opencv trong đường dẫn môi trường đã chọn của bạn.

conda install -c ['environment path'] opencv

Máy tính xách tay Juypter

!conda install --yes --prefix ['environment path'] opencv

4

NẾU BẠN XÂY DỰNG TỪ SCRATCH, HÃY QUA NÀY

Bạn nhận được No module named cv2.cv. Con trai, bạn đã làm tất cả các bước đúng, vì bạn sudo make installđã không có lỗi.

Tuy nhiên hãy nhìn vào bước này

$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

BƯỚC RẤT QUAN TRỌNG CỦA TẤT CẢ NHỮNG ĐIỀU NÀY ĐỂ LIÊN KẾT NÓ.

ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so 
or 
ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so

Thời điểm bạn chọn liên kết khôn ngoan hoặc bằng vũ lực chỉ cần tìm tệp cv2.so nếu điều đó tồn tại hay không

Ở đây tôi đang ném đầu ra của tôi.

    Successfully installed numpy-1.15.3
(cv) demonLover-desktop:~$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ pip list
Package    Version
---------- -------
numpy      1.15.3 
pip        18.1   
setuptools 40.5.0 
wheel      0.32.2 
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> 
[2]+  Stopped                 python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/c
ls: cannot access '/usr/local/lib/python2.7/site-packages/c': No such file or directory
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ deactivate 
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls -l  /usr/local/lib/python2.7/site-packages/
total 0
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ workon cv
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> 
[3]+  Stopped                 python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ find / -name "cv2.so"
find: ‘/lost+found’: Permission denied
find: ‘/run/udisks2’: Permission denied
find: ‘/run/docker’: Permission denied
find: ‘/run/exim4’: Permission denied
find: ‘/run/lightdm’: Permission denied
find: ‘/run/cups/certs’: Permission denied
find: ‘/run/sudo’: Permission denied
find: ‘/run/samba/ncalrpc/np’: Permission denied
find: ‘/run/postgresql/9.5-main.pg_stat_tmp’: Permission denied
find: ‘/run/postgresql/10-main.pg_stat_tmp’: Permission denied
find: ‘/run/lvm’: Permission denied
find: ‘/run/systemd/inaccessible’: Permission denied
find: ‘/run/lock/lvm’: Permission denied
find: ‘/root’: Permission denied
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudofind / -name "cv2.so"
sudofind: command not found
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudo find / -name "cv2.so"
[sudo] password for app: 
find: ‘/run/user/1000/gvfs’: Permission denied
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudo find /usr/ -name "cv2.so"
/usr/local/lib/python2.7/dist-packages/cv2.so
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/ccv2.so cv2.so
click/                        clonevirtualenv.pyc           configparser-3.5.0.dist-info/ configparser.py               cv2.so                        cycler.py
clonevirtualenv.py            concurrent/                   configparser-3.5.0-nspkg.pth  configparser.pyc              cycler-0.10.0.dist-info/      cycler.pyc
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
ln: failed to create symbolic link 'cv2.so': File exists
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ rm cv2.so 
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so  easy_install.py  easy_install.pyc  numpy  numpy-1.15.3.dist-info  pip  pip-18.1.dist-info  pkg_resources  setuptools  setuptools-40.5.0.dist-info  wheel  wheel-0.32.2.dist-info
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> 

Bước của tôi sẽ chỉ giúp, nếu việc xây dựng của bạn được thực hiện đúng.


Chỉ với sự giúp đỡ của @TheExorcist mới có thể giải quyết điều này
Rodney Salcedo

Rất vui khi được giúp bạn @RodneySalcedo, nhưng đó là tội lỗi trong khi liên kết, chúng tôi cam kết một cách vô thức.
TheExorcist

2

Tôi giải quyết điều này bằng cách chạy mã pip install opencv_contrib_python


0

Thử thứ này đi:

sudo ldconfig

sudo nano /etc/ld.so.conf.d/opencv.conf

và thêm dòng sau vào trong opencv.confkhông có trong cửa sổ lệnh

/usr/local/lib

Sau đó:

sudo ldconfig

sudo nano /etc/bash.bashrc

và thêm hai dòng này vào bash.bashrckhông trong cửa sổ lệnh

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig       
export PKG_CONFIG_PATH

cuối cùng khởi động lại Pi của bạn sudo reboot now

và cố gắng import cv2


Bạn có thể vui lòng giải thích tại sao các bước này? Làm thế nào họ có liên quan đến cv2?
Kishor Pawar

0

Một cách khác tôi có opencv để cài đặt và làm việc là trong cộng đồng visual studio 2017. Visual studio có một môi trường python đẹp với gỡ lỗi.
Vì vậy, từ cửa sổ vs python env tôi đã tìm kiếm và thêm opencv. Chỉ cần nghĩ rằng tôi sẽ chia sẻ bởi vì tôi muốn thử mọi thứ theo những cách khác nhau và trên các máy tính khác nhau.

Môi trường python VisualStudio2017 với opencv


0

Tôi gặp vấn đề tương tự, chỉ không thể tìm ra nó với opencv2 và opencv3 được cài đặt tương ứng vào / opt / opencv và opencv3. Hóa ra cài đặt anaconda đẫm máu của opencv trong thư mục nhà của tôi là lần đầu tiên trên đường dẫn và đọc opencv. Đã xóa nó và bắt đầu sử dụng / opt / opencv3 / lib như được định nghĩa trong /etc/ld.so.conf.d/opencv.conf. Làm việc hoàn hảo đầu tiên đi. Bạn đã cài đặt Anaconda? Có thể là vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.