ไม่พบโมดูล cv2 เมื่อใช้ OpenCV


264

ฉันได้ติดตั้งOpenCVบนระบบปฏิบัติการ Occidentalis (ตัวแปรของ Raspbian) ใน Raspberry Pi โดยใช้สคริปต์ของ jayrambhia ที่นี่ที่นี่ติดตั้งเวอร์ชัน 2.4.5 แล้ว

เมื่อฉันลองimport cv2ใช้โปรแกรม Python ฉันจะได้รับข้อความต่อไปนี้:

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

ไฟล์cv2.soถูกเก็บไว้ใน/usr/local/lib/python2.7/site-packages/...

นอกจากนี้ยังมีโฟลเดอร์ใน /usr/local/libเรียกว่า python3.2 และ python2.6 ซึ่งอาจเป็นปัญหา แต่ฉันไม่แน่ใจ

นี่อาจเป็นข้อผิดพลาดของเส้นทางหรือไม่ ความช่วยเหลือใด ๆ ที่ชื่นชมฉันยังใหม่กับ Linux


3
ลอง: python --version ถ้ามันบอกว่า 3.2 คุณจะได้คำใบ้ พยายามที่จะหาตัว 2.7 ปฏิบัติการและเรียกได้ว่ามีเส้นทางที่แน่นอน
Berak

3
สำหรับ macOS 10.12 และ python 3 คำสั่งง่าย ๆ ด้านล่างนี้ทำงานเพื่อแก้ไขข้อผิดพลาด: pip install opencv-python อ้างอิง: pypi.python.org/pypi/opencv-python
Tushar

หากคุณใช้ macOS Catalina อาจช่วยคุณstackoverflow.com/a/61578366/11559619
NicolasElPapu

คำตอบ:


346

ก่อนอื่นให้รันคำสั่งเหล่านี้ภายใน Terminal / CMD:

conda update anaconda-navigator  
conda update navigator-updater  

จากนั้นปัญหาสำหรับคำแนะนำด้านล่างจะได้รับการแก้ไข

สำหรับ windows ถ้าคุณมีการติดตั้งแอนนาคอนดาคุณสามารถทำได้

pip install opencv-python

หรือ

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

ถ้าคุณอยู่บน linux คุณสามารถทำได้:

pip install opencv-python

หรือ

conda install opencv 

Link1 Link2

สำหรับ python3.5 + ตรวจสอบลิงค์เหล่านี้: Link3 , Link4


7
สำหรับ linux คุณควรพิมพ์ 'pip install opencv-python' หรือ 'sudo pip install opencv-python'
Oz Radiano

12
คุณผิดคำสั่ง sudo pip3 install opencv-pythonมันเป็น นอกจากนี้สำหรับ linux คุณต้องรันเป็นsudo pip3 install opencv-pythonpython 3 และsudo pip install opencv-pythonpython 2 คุณไม่จำเป็นต้องใช้ sudo ที่จุดเริ่มต้นของคำสั่งถ้าคุณทำsudo -iforst หรือรันเป็น root ในบางลักษณะ
Stiffy2000

2
หากประสบปัญหาระหว่างการติดตั้งตรวจสอบให้แน่ใจว่าคุณมี pip เวอร์ชั่นใหม่ล่าสุดpip install --upgrade pipนี่คือเหน็ดเหนื่อยของฉัน
mrk

4
pip install opencv-pythonเหมาะกับฉันและฉันไม่มี Anaconda เพียงแค่ FYI สำหรับใครก็ตามที่มาที่นี่
tilper


73

สิ่งนี้เกิดขึ้นเมื่อหลามไม่สามารถอ้างถึงโฟลเดอร์แพ็คเกจไซต์เริ่มต้นของคุณซึ่งคุณเก็บไฟล์หลามหรือไลบรารีที่จำเป็น

เพิ่มบรรทัดเหล่านี้ในรหัส:

import sys

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

หรือก่อนที่จะรันคำสั่ง python ใน bash move ไปที่ไดเร็กทอรี/usr/local/lib/python2.7/site-packages นี่เป็นวิธีแก้ไขหากคุณไม่ต้องการเพิ่มสิ่งใด ๆ ลงในรหัส


1
คุณทำงานบน windows หรือไม่เส้นทางนี้มีลักษณะเหมือนระบบ linux
FavorMylikes

1
คำถามคือเกี่ยวกับ Raspbian OS ซึ่งเป็น Linux
Midhun

2
ทำงานให้ฉันด้วยเครื่อง mac
sand

มันใช้งานได้หนึ่งครั้ง แต่ถ้าฉันออกและเปิดตัวไพ ธ อนอีกครั้งฉันต้องทำอีกครั้ง วิธีบันทึกการปรับเปลี่ยนนี้
Mostafa

ฉันได้รับ "ImportError: numpy.core.multiarray ล้มเหลวในการนำเข้า" เมื่อฉันทำสิ่งนี้ ข้อเสนอแนะใด ๆ
hiquetj

45

ฉันแก้ไขปัญหาโดยใช้คำสั่งต่อไปนี้:

conda install opencv

6
หากคุณติดตั้ง Anaconda Python นี่เป็นคำสั่งที่คุณต้องการ
kevinmicke

ฉันลองสิ่งนี้ในวันนี้ในสภาพแวดล้อม Windows Vista แบบ 64 บิต 2.7 และได้รับPackageNotFound error
Mike Wise

2
งานคืออะไรconda install -c https://conda.binstar.org/menpo opencv
Mike Wise

40

ลองเพิ่มบรรทัดต่อไปนี้ใน ~/.bashrc

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

2
ขอบคุณมันใช้งานได้กับฉันเมื่อใช้งานแล้ว: ส่งออก PYTHONPATH = / usr / local / python / 2.7: $ PYTHONPATH
Ikbel


21

คำตอบข้างต้นไม่เหมาะกับฉัน ฉันบ้าไปแล้วจนกระทั่งฉันพบวิธีแก้ปัญหาด้านล่างนี้!

เพียงแค่เรียกใช้:

sudo apt install python-opencv

14

สำหรับ Windows 10 และ Python 3.6 สิ่งนี้ใช้ได้กับฉัน

pip install opencv-contrib-python


1
ทำงานให้ฉันบน Linux (Ubuntu 16.04) ด้วย
FlorianH



7

ฉันได้พบเช่นเดียวกับปัญหานี้ฉันติดตั้ง cv2 โดย

pip install cv2

อย่างไรก็ตามเมื่อฉันนำเข้าโมดูล cv2 จะไม่ปรากฏข้อผิดพลาดของโมดูลชื่อ cv2
จากนั้นฉันค้นหาและค้นหาcv2.pydไฟล์ในคอมพิวเตอร์ของฉันและฉันคัดลอกและวางไปยังไดเรกทอรีแพ็คเกจเว็บไซต์

C:\Python27\Lib\site-packages

จากนั้นฉันปิดและเปิดแอปพลิเคชันที่มีอยู่อีกครั้งมันทำงานได้

แก้ไข ฉันจะบอกวิธีการติดตั้งcv2อย่างถูกต้อง

1.ติดตั้ง numpy บนคอมพิวเตอร์ของคุณก่อน

pip install numpy


2.ดาวน์โหลดopencvจากอินเทอร์เน็ต (เกือบ 266 mb)
ฉันดาวน์โหลดopencv-2.4.12.exepython 2.7 จากนั้นติดตั้งไฟล์ opencv-2.4.12.exe นี้
ฉันแยกไปC:\Users\harun\Downloadsยังโฟลเดอร์นี้
หลังจากติดตั้งแล้วให้มองหาcv2.pyเข้าไปในโฟลเดอร์
สำหรับฉัน

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

ในโฟลเดอร์นี้ใช้cv2.pydและคัดลอกไปยัง

C:\Python27\Lib\site-packages

ตอนนี้คุณสามารถใช้cv2สคริปต์ python ของคุณได้แล้ว


ฉันไม่คิดว่าแพคเกจที่cv2ติดตั้งผ่านpipจะเกี่ยวข้องกับอะไรopenCVคุณยืนยัน
epsilones

@Newben ขออภัยที่ตอบช้า ในส่วนแก้ไขฉันพูดถึงวิธีการติดตั้ง opencv อย่างถูกต้อง ฉันหวังว่ามันจะช่วยคุณได้ถ้าคุณยังไม่สามารถแก้ปัญหาได้
Harun ERGUL

5

หากต้องการติดตั้ง opencv ในสภาพแวดล้อมเสมือน เรียกใช้คำสั่งในเทอร์มินัลเพื่อรับรายการสภาพแวดล้อมเสมือน

conda env list

หรือคำสั่งโน๊ตบุ๊ค jupyter คือ

!conda env list

จากนั้นอัพเดตงูใหญ่ของคุณ

conda update anaconda-navigator
conda update navigator-updater

ติดตั้ง opencv ในพา ธ สภาพแวดล้อมที่คุณเลือก

conda install -c ['environment path'] opencv

Juypter โน้ตบุ๊ค

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

4

หากคุณกำลังสร้างจากรอยขีดข่วนไปผ่านสิ่งนี้

No module named cv2.cvคุณจะได้รับ ลูกชายคุณทำทุกอย่างถูกต้องตั้งแต่คุณsudo make installไม่มีข้อผิดพลาด

อย่างไรก็ตามดูที่ขั้นตอนนี้

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

ขั้นตอนที่สำคัญมากของสิ่งเหล่านี้คือการเชื่อมโยงมัน

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

ช่วงเวลาที่คุณเลือกการเชื่อมโยงที่ชาญฉลาดหรือโดยการใช้กำลังดุร้ายเพียงแค่ค้นหาไฟล์ cv2.so หากมีอยู่หรือไม่

ที่นี่ฉันจะโยนออกของฉัน

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

ขั้นตอนของฉันจะช่วยได้ก็ต่อเมื่อสิ่งที่สร้างขึ้นถูกต้องแล้ว


ด้วยความช่วยเหลือของ @TheExorcist เท่านั้นที่จะแก้ปัญหานี้ได้
Rodney Salcedo

ดีใจที่ได้ช่วยคุณ @RodneySalcedo แต่มันเป็นบาปขณะเชื่อมโยงเรากระทำโดยไม่รู้ตัว
TheExorcist


0

ลองดูสิ:

sudo ldconfig

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

และเพิ่มบรรทัดต่อไปนี้ในopencv.confไม่อยู่ในหน้าต่างคำสั่ง

/usr/local/lib

แล้ว:

sudo ldconfig

sudo nano /etc/bash.bashrc

และเพิ่มสองบรรทัดนี้ในbash.bashrcไม่ใช่ในหน้าต่างคำสั่ง

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

ในที่สุดรีบูต Pi ของคุณ sudo reboot now

และลอง import cv2


คุณช่วยอธิบายได้ว่าทำไมขั้นตอนเหล่านี้? พวกเขาเกี่ยวข้องกับ cv2 อย่างไร
Kishor Pawar

0

อีกวิธีหนึ่งที่ฉันได้รับ opencv เพื่อติดตั้งและทำงานอยู่ในชุมชน visual studio 2017 Visual studio มีสภาพแวดล้อมที่ดีกับการแก้จุดบกพร่อง
ดังนั้นจากหน้าต่าง vs python env ฉันค้นหาและเพิ่ม opencv แค่คิดว่าฉันจะแบ่งปันเพราะฉันต้องการลองสิ่งต่าง ๆ และในคอมพิวเตอร์ที่แตกต่างกัน

สภาพแวดล้อมหลาม VisualStudio2017 กับ opencv


0

ฉันมีปัญหาเดียวกันก็ไม่สามารถคิดออกด้วย opencv2 และ opencv3 ติดตั้งลงใน / opt / opencv และ opencv3 ตามลำดับ ปรากฎว่าการติดตั้งแอนาคอนดาเลือดของ opencv ในไดเรกทอรีบ้านของฉันเป็นครั้งแรกในเส้นทางและ mencled opencv ลบออกและเริ่มใช้ / opt / opencv3 / lib ตามที่กำหนดไว้ใน /etc/ld.so.conf.d/opencv.conf ทำงานได้อย่างสมบูรณ์แบบครั้งแรก คุณติดตั้งงูใหญ่แล้วหรือยัง? อาจเป็นปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.