361

我已经使用 jayrambhia 的脚本在 Raspberry Pi 上的 Occidentalis 操作系统(Raspbian 的一种变体)上安装OpenCV。它安装了 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 新手。

4

21 回答 21

467

首先在终端/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 链接2

对于 python3.5+ 检查这些链接:Link3Link4

更新:
如果你使用 anaconda,你也可以简单地使用它(因此不需要添加 menpo 频道):

conda install -c conda-forge opencv
于 2017-01-27T14:03:52.177 回答
89

当 python 无法引用您保存所需 python 文件或库的默认站点包文件夹时,就会发生这种情况

在代码中添加这些行:

import sys

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

或者在 bash 中运行 python 命令之前移动到/usr/local/lib/python2.7/site-packages目录。如果您不想在代码中添加任何内容,这是一种解决方法。

于 2014-02-02T14:14:38.680 回答
53

我使用以下命令解决了我的问题:

conda install opencv
于 2016-02-22T06:07:26.453 回答
44

尝试添加以下行~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
于 2014-01-15T07:42:03.847 回答
34

Python3.x 用户

sudo pip3 install opencv-python
于 2018-10-29T13:00:07.963 回答
33

对于 Windows 10 和 Python 3.6,这对我有用

pip install opencv-contrib-python

于 2019-11-10T06:34:30.590 回答
28

以上答案都不适合我。我快疯了,直到我在下面找到了这个解决方案!

只需运行:

sudo apt install python-opencv
于 2018-05-27T09:45:06.187 回答
20

我使用以下命令解决了我的问题:

pip install opencv-python
于 2019-08-12T11:13:36.973 回答
18
pip install opencv-python

或者

pip install opencv-python3 

肯定会正常工作

于 2020-11-05T09:49:48.370 回答
15

我通过运行解决它:

pip3 install opencv-python
于 2019-11-08T01:43:37.437 回答
13

这将是您的解决方案:

pip install opencv-contrib-python

奇迹般有效....!

于 2021-04-18T07:44:28.763 回答
8

我通过运行代码解决了这个问题pip install opencv_contrib_python

于 2019-10-20T13:41:51.407 回答
7

我遇到了同样的问题,我安装了 cv2

pip install cv2

但是,当我导入 cv2 模块时,它显示没有名为 cv2 的模块错误。
然后我在我的计算机中搜索并找到cv2.pyd文件,然后我复制并粘贴到 site-packages 目录

C:\Python27\Lib\site-packages

然后我关闭并重新打开现有的应用程序,它工作。

编辑 我会告诉如何cv2正确安装。

1.首先在您的计算机上安装numpy

pip install numpy


2.从 Internet下载opencv(大约 266 mb)。
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脚本中使用了。

于 2016-04-14T06:21:41.887 回答
5

如果想在虚拟环境中安装opencv。在终端中运行命令以获取虚拟环境列表。

conda env list

或 jupyter notebook 命令是

!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
于 2018-06-02T10:49:03.987 回答
5

如果您是从头开始构建,请通过此

你得到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
>>> 

如果您的构建正确,我的步骤只会有所帮助。

于 2018-12-05T09:59:01.037 回答
1

对于python3x用户

$ sudo pip3 install opencv-python

对于python2x用户

$ sudo pip install opencv-python
于 2022-01-03T08:36:57.993 回答
0

这是为那些使用 ubuntu 运行他们的 script.py 的人准备的,你必须将 cv2.so 复制到你的 python pachkages 目录下,然后为你的 bachrc 提供资源。这里:

sudo cp -rfv /home/<user>/<your opencv file dir>/lib/cv2.so  /usr/local/lib/python2.7/site-packages/
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
于 2021-03-04T15:37:31.487 回答
0

我有同样的问题,只是无法分别将 opencv2 和 opencv3 安装到 /opt/opencv 和 opencv3 中。原来,在我的主目录中安装 opencv 的血腥蟒蛇首先在路径上并损坏了 opencv。删除它并开始使用 /etc/ld.so.conf.d/opencv.conf 中定义的 /opt/opencv3/lib。第一次工作完美。你有安装anaconda吗?可能是问题所在。

于 2016-08-15T10:19:22.857 回答
0

我知道你遇到了 Occidentalis 的问题,但我在 Windows 上也遇到了问题,我没有发现任何有用的东西。所以如果你有windows,并且你已经安装了opencv,但你仍然得到一个导入错误,这个方法可能会解决这个问题。

我设法通过重新激活 anaconda 解决了这个问题。

首先,我从 PATH 中删除了 your\path\to\anaconda3 和 your\path\to\anaconda3\Scripts (稍后您将需要这些,因此请记住这些路径)

然后,如果你从 cmd 运行 python,它会说:

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated. Libraries may fail to load. To activate this environment
please see https://conda.io/activation.

然后在 Anaconda 提示符中我运行了这些:

your\path\to\anconda3\Scripts\activate base 
conda activate --stack your\path\to\anaconda3

我不确定这是重新激活 anaconda 的最简单方法,但这对我有用。

于 2020-08-05T11:58:31.997 回答
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并在命令窗口中的 not 中添加这两行

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

最后重新启动你的 Pisudo reboot now

并尝试import cv2

于 2016-07-25T09:43:46.137 回答
0

Another way I got opencv to install and work was inside visual studio 2017 community. Visual studio has a nice python environment with debugging.
So from the vs python env window I searched and added opencv. Just thought I would share because I like to try things different ways and on different computers.

VisualStudio2017 python environments with opencv

于 2019-09-08T18:46:54.667 回答