问题:使用OpenCV时找不到模块cv2
我已经在Raspberry Pi上的Occidentalis操作系统(Raspbian的变体)上安装了OpenCV,使用的是在此处找到的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的新手。
回答 0
首先在Terminal / CMD中运行以下命令:
conda update anaconda-navigator
conda update navigator-updater
那么以下说明的问题将得到解决
对于Windows,如果您安装了anaconda,则只需
pip install opencv-python
要么
conda install -c https://conda.binstar.org/menpo opencv
如果您使用的是Linux,则可以执行以下操作:
pip install opencv-python
要么
conda install opencv
回答 1
当python无法参考您保留了所需python文件或库的默认site-packages文件夹时,就会发生这种情况
在代码中添加以下行:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
或在bash中运行python命令之前,移至/usr/local/lib/python2.7/site-packages目录。如果您不想在代码中添加任何内容,则可以解决此问题。
回答 2
我使用以下命令解决了我的问题:
conda install opencv
回答 3
尝试在其中添加以下行 ~/.bashrc
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
回答 4
Python3.x用户
sudo pip3 install opencv-python
回答 5
上面的答案对我都不起作用。我一直在疯狂,直到我在下面找到了这个解决方案!
只需运行:
sudo apt install python-opencv
回答 6
对于Windows 10和Python 3.6,这对我有用
pip install opencv-contrib-python
回答 7
我使用以下命令解决了我的问题:
pip install opencv-python
回答 8
我通过运行来解决:
pip3 install opencv-python
回答 9
我遇到了与此问题相同的问题,我通过安装了cv2
pip install cv2
但是,当我导入cv2模块时,它没有显示名为cv2错误的模块。
然后,我cv2.pyd
在计算机中搜索并找到文件,然后将其复制并粘贴到site-packages目录中
C:\Python27\Lib\site-packages
然后我关闭并重新打开了现有的应用程序,它起作用了。
编辑
我会告诉你如何安装cv2
正确。
1.首先通过以下方式在计算机上安装numpy:
pip install numpy
2.从互联网(将近266 mb)下载opencv。
我opencv-2.4.12.exe
为python 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脚本中使用了。
回答 10
如果要在虚拟环境中安装opencv。在终端中运行命令以获取虚拟环境列表。
conda env list
或jupyter notebook命令是
!conda env list
然后更新您的Python。
conda update anaconda-navigator
conda update navigator-updater
在您选择的环境路径中安装opencv。
conda install -c ['environment path'] opencv
Juypter笔记本
!conda install --yes --prefix ['environment path'] opencv
回答 11
如果您要从刮擦中进行构建,请按照以下说明进行操作
你懂了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
>>>
如果您的构建正确,我的步骤只会有所帮助。
回答 12
我通过运行代码解决 pip install opencv_contrib_python
回答 13
试试看:
sudo ldconfig
sudo nano /etc/ld.so.conf.d/opencv.conf
并opencv.conf
在命令窗口的not中添加以下行
/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
回答 14
我安装和工作opencv的另一种方法是在Visual Studio 2017社区内部。Visual Studio具有一个不错的带有调试功能的python环境。
因此,从vs python env窗口中,我搜索并添加了opencv。只是想我会分享,因为我喜欢以不同的方式在不同的计算机上尝试。
回答 15
我有同样的问题,只是无法通过分别安装到/ opt / opencv和opencv3中的opencv2和opencv3来解决。原来,在我的主目录中,血腥的anaconda安装的opencv首先出现在路径上,并且破坏了opencv。删除它,并使用/etc/ld.so.conf.d/opencv.conf中定义的/ opt / opencv3 / lib开始。第一次工作完美。您安装了Python吗?可能是问题。