我在 Raspberry Pi 上的 Occidentalis 操作系统(Raspbian 的一种变体)上安装了 OpenCV,使用的是找到的 jayrambhia 脚本 here。它安装了 2.4.5 版。
当我在 Python 程序中尝试 import cv2
时,我收到以下消息:
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 新手。
首先在终端/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
对于 python3.5+,请检查以下链接:Link3、Link4
更新:如果你使用 anaconda,你也可以简单地使用它(因此不需要添加 menpo 频道):
conda install -c conda-forge opencv
当 python 无法引用您保存所需 python 文件或库的默认站点包文件夹时,就会发生这种情况
在代码中添加这些行:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
或者在 bash 中运行 python 命令之前移动到 /usr/local/lib/python2.7/site-packages 目录。如果您不想在代码中添加任何内容,这是一种解决方法。
我使用以下命令解决了我的问题:
conda install opencv
PackageNotFound error
conda install -c https://conda.binstar.org/menpo opencv
尝试在 ~/.bashrc
中添加以下行
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
对于 Windows 10 和 Python 3.6,这对我有用
pip install opencv-contrib-python
以上答案都不适合我。我快疯了,直到我在下面找到了这个解决方案!
只需运行:
sudo apt install python-opencv
E: Unable to locate package python-opencv
显示此错误
我使用以下命令解决了我的问题:
pip install opencv-python
pip install opencv-python
或者
pip install opencv-python3
肯定会正常工作
这将是您的解决方案:
pip install opencv-contrib-python
奇迹般有效....!
我通过运行解决它:
pip3 install opencv-python
我通过运行代码 pip install opencv_contrib_python
解决了这个问题
我遇到了同样的问题,我安装了 cv2
pip install cv2
但是,当我导入 cv2 模块时,它显示没有名为 cv2 的模块错误。
然后我在我的计算机中搜索并找到 cv2.pyd
个文件,然后复制并粘贴到站点包目录
C:\Python27\Lib\site-packages
然后我关闭并重新打开现有的应用程序,它工作。
编辑我将告诉您如何正确安装 cv2
。
1.首先在您的计算机上安装numpy
pip install numpy
2. 从互联网下载 opencv(大约 266 mb)。
我为 python 2.7 下载了 opencv-2.4.12.exe
。然后安装这个 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
现在您可以在 Python 脚本中使用 cv2
。
pip
安装的软件包 cv2
与 openCV
没有任何关系,您确认吗?
pip
安装时,使用 pip install opencv-python
应该可以工作。
ERROR: Could not find a version that satisfies the requirement cv2 (from versions: none) ERROR: No matching distribution found for cv2
如果想在虚拟环境中安装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
如果您是从头开始构建,请通过此
你得到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
>>>
如果您的构建正确,我的步骤只会有所帮助。
对于 python3x 用户
$ sudo pip3 install opencv-python
对于 python2x 用户
$ sudo pip install opencv-python
简单的
python -m pip install --upgrade pip
然后
pip install opencv-python
这个问题有简单的解决方案
安装 Anconda Navigator 然后转到环境并搜索“Opencv”添加勾选标记并应用安装最后解决问题
https://i.stack.imgur.com/MSnCx.jpg
试试这个:
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
我让 opencv 安装和工作的另一种方式是在 Visual Studio 2017 社区内。 Visual Studio 有一个不错的 Python 调试环境。因此,我从 vs python env 窗口中搜索并添加了 opencv。只是想我会分享,因为我喜欢在不同的计算机上尝试不同的方式。
https://i.stack.imgur.com/qxSQA.png
我有同样的问题,只是无法分别将 opencv2 和 opencv3 安装到 /opt/opencv 和 opencv3 中。原来,在我的主目录中安装 opencv 的血腥蟒蛇首先在路径上并损坏了 opencv。删除它并开始使用 /etc/ld.so.conf.d/opencv.conf 中定义的 /opt/opencv3/lib。第一次工作完美。你有安装anaconda吗?可能是问题所在。
我知道你遇到了 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 的最简单方法,但这对我有用。
这是为那些使用 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
创建一个虚拟环境,然后在那里安装 open-cv。它对我有用。而且,最好的做法是创建一个虚拟环境。创建虚拟环境:
python3 -m venv env
激活虚拟环境 对于 Linux:
source env/bin/activate
现在安装 OpenCV 和其他模块。
pip3 install opencv-python
以上将适用于linux。同样,您可以为 windows 创建虚拟环境,然后安装 opencv 更多关于虚拟环境:
https://docs.python.org/3/library/venv.html
https://www.geeksforgeeks.org/creating-python-virtual-environment-windows-linux/
sudo pip3 install opencv-python
。此外,对于 linux,对于 python 3,您必须以sudo pip3 install opencv-python
运行它,对于 python 2,您必须以sudo pip install opencv-python
运行它。如果您执行sudo -i
forst 或在某些情况下以 root 身份运行,则不需要在命令开头使用 sudo方式。pip install --upgrade pip
这是我的观点pip install opencv-python
适合我,但我没有 Anaconda。仅供任何来这里的人参考。sudo pip install
should not be used。 Is it acceptable and safe to run pip install under sudo?。这是 scipy 和 python.org 推荐的