在 Ubuntu 上安装 OpenCV for Python,得到 Import Error: No module name cv2.cv

我有一个 Ubuntu 14.04系统,我想在上面安装 OpenCV 并与 Python 2.x 一起使用它。

我使用这里的说明安装了 OpenCV: Https://help.ubuntu.com/community/opencv

安装似乎运行正常,没有错误,脚本以输出结束

OpenCV 2.4.9 ready to be used

当我尝试运行示例 Python 脚本时,我得到以下结果:

$ python opencv.py
Traceback (most recent call last):
File "opencv.py", line 1, in <module>
from cv2.cv import *
ImportError: No module named cv2.cv

我想我知道原因,只是不知道如何弥补。在我运行安装脚本的工作目录上安装了 OpenCV,它是我主文件夹的一个子目录。

其他在安装之后出现这个导入错误的用户似乎遇到了路径问题,并且很幸运地将这个错误添加到了他们的代码中:

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

或者使用相同的目录更新它们的 PYTHONPATH。我试过加入那个代码,但没用。我没有看到任何文件在“网站包”目录。我应该在那个目录下安装吗?我想安装说明应该已经说明了这一点。我怀疑我的问题与 Python 没有找到 OpenCV 安装有关,但我不确定如何继续下去。

请帮助我尽可能简单地安装 OpenCV。

237838 次浏览

Use pip:

https://pypi.python.org/pypi/pip

$ pip install SomePackage
[...]
Successfully installed SomePackage

And when you add a path to PYTHONPATH with sys, PYTHONPATH it's always restarted to default values when you close your Python shell. Check this thread:

Permanently add a directory to PYTHONPATH

First add openCV to your path (Quick guide):

https://help.ubuntu.com/community/OpenCV

after that, install the non-python packages pyopencv depends on:

sudo apt-get build-dep python-opencv

finally, use pip:

pip install pyopencv

Also, you can check this tutorial to install openCV in ubuntu 14.04 LTS

http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/

I found a solution in the guide here:

http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/

I resorted to compiling and installing from source. The process was very smooth, had I known, I would have started with that instead of trying to find a more simple way to install. Hopefully this information is helpful to someone.

If you want as simple as possible, install from the repository:

sudo apt-get install python-opencv libopencv-dev python-numpy python-dev

I think you don't have the python-opencv package.

I had the exact same problem and

sudo apt-get install python-opencv

solved the issue for me.

you can install opencv from the following link https://www.learnopencv.com/install-opencv3-on-ubuntu/ It works for me . apt-get install doesnt contain many packages of opencv

Verify if cv2.so did compile, should be placed in: /usr/local/lib/python2.7/site-packages Then export that path like this

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

Same as in the answer here

My environment:

  • Ubuntu 15.10
  • Python 3.5

Since none of the previous answers worked for me, I downloaded OpenCV 3.0 from http://opencv.org/downloads.html and followed the installation manual. I used the following cmake command:

$ ~/Programs/opencv-3.0.0$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_EXECUTABLE=/usr/bin/python3.5 -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.5m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages ..

Each step of the tutorial is important. Particularly, don't forget to call sudo make install.

I also had this issue. Tried different things. But finally

conda install opencv

worked for me.

Find where the cv2.so is, for example /usr/local/lib/python2.7/dist-packages, then add this into your ~/.bashrc by doing:

sudo gedit ~/.bashrc

and add

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

In the last line

And then remember to open another terminal, this can be work, and I have solve my problem. Hope it can help you.

Create a symbolic link to OpenCV. Eg:

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

If you really sure that you installed cv2 but it gives no module error. There is a solution for this. Probably you have cv2.so file in your directory

/usr/local/lib/python2.7/site-packages/cv2.so

move this cv2.so file to

/usr/lib/python2.7/site-packages

copy the file into site-packages directory

Try conda install -c conda-forge opencv if you are using anaconda, it works!

For those who are trying to use 3.1.0 but after installing python says "cv2 module not found".

You likely have python but not python-dev.

sudo apt-get install python-dev

then reinstall 3.1.0 and it'll work.

This seemed to work for me on Max OSX: https://anaconda.org/menpo/opencv3

conda install -c menpo opencv3=3.1.0

I confirmed that you can import cv2 in python using python2.7 and python3

if you are using pycharm platform it's very simple go into view=>tool windows==>python console after that you will see in the bottom the console with [1] : type this !pip install opencv-python

For me, this problem was due to the fact that I had not appropriately sym-linked the cv2.so file in the~/.virtualenvs/cv/lib/python3.5/site-packages folder (the name of your virualenv may not be "cv", your version of python may not be 3.5--adjust accordingly).

If you go to the ~/.virtualenvs/cv/lib/python3.5/site-packages folder and ls, the cv2.so file should appear in light blue (Ubuntu 16.04) showing that it is linked. You can check the link location by typing: readlink cv2.so

If cv2.so appears in red (as mine did), rm the file and type: (for my install of python 3.5)

ln -s /usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-x86_64-linux-gnu.so cv2.so

OR (if you have python 3.6)

ln -s /usr/local/lib/python3.6/dist-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so

If you are working in python 2.6 or python 2.7, you instead type:

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

If the cv2.so or cv2.cpython-36m-x86_64-linux-gnu.so files do not exist in your /usr/local/lib/python***/dist-packages location, check to see if they're in a /usr/local/lib/python***/sites-packages folder. If so, adjust the path accordingly. If not, something has gone wrong with your opencv installation.

This answer was inspired by information here: https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

Try using: from cv2 import cv

It works for me.

Its complete installation nightmare, but I'll give one more hope you can avoid building opencv from source:

pip install opencv-contrib-python

I tried all the other options here, but I could not get import cv2 working with Anaconda on Ubuntu. This is the only thing that helped:

pip install opencv-python

You can build for source following the official OpenCV tutorial. The crucial part is to set the PYTHON3_EXECUTABLE, PYTHON_LIBRARY, PYTHON3_PACKAGES_PATH and PYTHON3_NUMPY_INCLUDE_DIRS parameters for python3.6. Here are all the steps:

  1. Clone the repo

    git clone https://github.com/opencv/opencv.git
    
  2. Create build directory

    cd ~/opencv
    mkdir build
    cd build
    
  3. Configure

    cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local .. \
    -D PYTHON_INCLUDE_DIR=/usr/include/python3.6 \
    -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m \
    -D BUILD_NEW_PYTHON_SUPPORT=ON \
    -D BUILD_opencv_python3=ON \
    -D HAVE_opencv_python3=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D PYTHON3_EXECUTABLE=/usr/bin/python3.6 \
    -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3.6 \
    -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
    -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages .. \
    -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/user/.local/lib/python3.6/site-packages/numpy/core/include/
    
  4. Build

    make -j8
    
  5. Install libraries

    sudo make install
    
  6. Test

    python3
    import cv2
    

If you don't get the error "No module named cv2", then the installation was successful.

Note: If you don't know the path to numpy for the PYTHON3_NUMPY_INCLUDE_DIRS parameter, you can find it by executing import numpy and then numpy.__file__ in a python3 shell.

try using sudo apt install python3-opencv

it will install the latest package of open cv.

Or you could try reinstalling the opencv package. It might have got corrupted during installation.

Uninstall pandas, then install it again:

pip uninstall pandas
pip install pandas

This solved my problem:

sudo apt-get install python3

then

pip3 install opencv-python

The error kept appearing to me after downloading openCV 5 times in a different ways, until i fond that all of them has downloaded in a random version of Python, all of them in ~/usr/local/lib/python3.10 and the latest version is 3.11 (which i expected that the terminal should be using it when i write 'python3').

that was the problem in my case, i just changed python version in vscode.