Menginstal OpenCV untuk Python di Ubuntu, mendapatkan ImportError: Tidak ada modul bernama cv2.cv


87

Saya memiliki sistem Ubuntu 14.04, di mana saya ingin menginstal OpenCV dan menggunakannya dengan Python 2.x.

Saya menginstal OpenCV menggunakan petunjuk di sini: https://help.ubuntu.com/community/OpenCV

Penginstalan sepertinya berjalan dengan baik, tidak ada kesalahan, skrip diakhiri dengan keluaran

OpenCV 2.4.9 ready to be used

Ketika saya mencoba menjalankan contoh skrip Python, saya mendapatkan yang berikut:

$ 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

Saya rasa saya tahu mengapa, saya tidak tahu bagaimana cara memperbaikinya. OpenCV diinstal ke direktori saat saya berada ketika saya menjalankan skrip instalasi, itu adalah subdirektori dari folder rumah saya.

Orang lain yang mendapatkan kesalahan impor ini setelah pemasangan tampaknya mengalami masalah jalur, dan beruntung menambahkan ini ke kode mereka:

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

atau memperbarui PYTHONPATH mereka dengan direktori yang sama. Saya mencoba menambahkan kode itu, tidak ada bedanya. Saya tidak melihat file apa pun di direktori "paket situs". Haruskah saya melakukan penginstalan di direktori itu? Saya membayangkan instruksi instalasi akan menjelaskannya. Saya menduga bahwa masalah saya ada hubungannya dengan Python tidak menemukan instalasi OpenCV, tetapi saya tidak yakin bagaimana melanjutkannya.

Tolong bantu saya mendapatkan instalasi OpenCV yang dapat digunakan sesederhana mungkin.



@ krock Saya rasa ini bukan dup dari itu. Saya tidak memiliki file cv2.so yang ada di direktori paket situs saya seperti yang dimiliki pengguna itu. Juga, saya menyebutkan dua solusi yang diberikan di pos itu, dan tidak ada yang berhasil untuk saya di sini.
robm

1
tetapi Anda dapat mengimpor cv2? modul cv lama (atau cv2.cv) tidak akan ada di versi
opencv

@berak Tidak, saya juga tidak bisa mengimpor cv2.
robm

Jawaban:


110

Saya pikir Anda tidak memiliki python-opencvpaketnya.

Saya memiliki masalah yang sama persis dan

sudo apt-get install python-opencv

memecahkan masalah untuk saya.

Anda dapat menginstal opencv dari tautan berikut https://www.learnopencv.com/install-opencv3-on-ubuntu/ Bekerja untuk saya. apt-get install tidak berisi banyak paket opencv


Mengapa jawaban Anda harus berbeda dari yang lain?
Michele d'Amico

OP memang memiliki paketnya. Jika tidak, ImportError akan berkata, "tidak ada paket bernama cv2".
Andy Hayden

Masalah yang sama, coba instal sesuai petunjuk di sini: help.ubuntu.com/community/OpenCV Tidak berhasil. Solusi ini berhasil untuk saya. Terima kasih!
jschabs

2
Itu sangat sederhana! Setelah menderita karena begitu banyak "solusi" yang sangat kompleks lainnya, tidak ada yang berhasil, ini berhasil. Terima kasih! :-)
Rafael_Espericueta

sudo dnf menginstal opencv-python untuk fedora.
Dinuka Thilanga

30

Saya juga mengalami masalah ini. Mencoba berbagai hal. Tapi akhirnya

conda install opencv

bekerja untuk saya.


1
Ini akan bekerja dengan asumsi bahwa python Anda adalah Anaconda.
ComputerScientist

4
Catatan conda install opencvtidak berfungsi untuk windows 64 bit.
shahar_m

17

Jika Anda ingin sesederhana mungkin, instal dari repositori:

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

1
Saya harus memotong opencv-devbagiannya, tetapi sebaliknya, jawaban ini bekerja dengan baik untuk saya.
Brian Z

Jawaban terbaik disini!
Giacomo1968

11

Gunakan pip:

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

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

Dan ketika Anda menambahkan jalur ke PYTHONPATH dengan sys, PYTHONPATH itu selalu dimulai ulang ke nilai default saat Anda menutup shell Python Anda. Periksa utas ini:

Tambahkan direktori ke PYTHONPATH secara permanen

Pertama tambahkan openCV ke jalur Anda (Panduan Cepat):

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

setelah itu, instal paket non-python yang pyopencv bergantung pada:

sudo apt-get build-dep python-opencv

terakhir, gunakan pip:

pip install pyopencv

Juga, Anda dapat memeriksa tutorial ini untuk menginstal openCV di ubuntu 14.04 LTS

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


4
Paket pip mana yang harus saya gunakan untuk OpenCV? Ada banyak yang terdaftar di pypi.python.org/pypi , tidak jelas mana yang resmi dan / atau terkini.
robm

Saya akan mengedit jawaban saya dengan panduan singkat, tolong tandai sebagai benar jika berguna
Juan David

2
Ini tidak benar. Alasan kesalahan ini ditampilkan adalah karena submodul cv tidak lagi ada dalam versi terbaru.
Andy Hayden

Saya tidak berbicara tentang alasan kesalahan tersebut. Saya hanya memberikan solusi yang mungkin. Ini bekerja untuk saya, mungkin bisa berguna untuk orang lain @AndyHayden
Juan David

EROR: Tidak dapat menemukan versi yang memenuhi persyaratan pyopencv (dari versi: 2.0.wr1.0.1-demo, 2.0.wr1.0.1, 2.0.wr1.1.0, 2.1.0.wr1.0.0, 2.1.0.wr1. 0.1, 2.1.0.wr1.0.2, 2.1.0.wr1.1.0, 2.1.0.wr1.2.0) ERROR: Tidak ada distribusi yang cocok untuk pyopencv
Stepan Yakovenko

10

Coba conda install -c conda-forge opencvjika Anda menggunakan anaconda, itu berhasil!


8

Temukan di mana cv2.so, misalnya /usr/local/lib/python2.7/dist-packages, lalu tambahkan ini ke dalam Anda ~/.bashrcdengan melakukan:

sudo gedit ~/.bashrc

dan tambahkan

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

Di baris terakhir

Dan kemudian ingat untuk membuka terminal lain, ini bisa berfungsi, dan saya telah menyelesaikan masalah saya. Semoga dapat membantu Anda.


5

Verifikasi apakah cv2.so melakukan kompilasi, harus ditempatkan di: /usr/local/lib/python2.7/site-packages Kemudian ekspor jalur itu seperti ini

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

Sama seperti jawaban di sini


4

Lingkungan saya:

  • Ubuntu 15.10
  • Python 3.5

Karena tidak ada jawaban sebelumnya yang berhasil untuk saya, saya mengunduh OpenCV 3.0 dari http://opencv.org/downloads.html dan mengikuti manual instalasi . Saya menggunakan cmakeperintah berikut :

$ ~/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 ..

Setiap langkah tutorial itu penting. Terutama, jangan lupa menelepon sudo make install.



3

Buat tautan simbolis ke OpenCV. Misalnya:

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

2

Jika Anda benar-benar yakin telah menginstal cv2 tetapi tidak ada kesalahan modul. Ada solusi untuk ini. Mungkin Anda memiliki cv2.sofile di direktori Anda

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

pindahkan cv2.sofile ini ke

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

salin file ke direktori paket situs



2

Mimpi buruk instalasi lengkapnya, tetapi saya akan memberikan satu harapan lagi Anda dapat menghindari membangun opencv dari sumber:

pip instal opencv-contrib-python


1

jika Anda menggunakan platform pycharm itu sangat sederhana masuk ke view => tool windows ==> konsol python setelah itu Anda akan melihat di bagian bawah konsol dengan [1]: ketik ini!pip install opencv-python


1

Saya mencoba semua opsi lain di sini, tetapi saya tidak dapat import cv2bekerja dengan Anaconda di Ubuntu. Inilah satu-satunya hal yang membantu:

pip install opencv-python


Terima kasih. itu berfungsi: pip3 instal opencv-python. ////// Pengujian: python3 / import numpy / import cv2
Soner PALANCI

1

Anda dapat membangun untuk sumber mengikuti tutorial resmi OpenCV . Bagian penting adalah untuk mengatur PYTHON3_EXECUTABLE, PYTHON_LIBRARY, PYTHON3_PACKAGES_PATHdan PYTHON3_NUMPY_INCLUDE_DIRSparameter untuk python3.6. Berikut semua langkahnya:

  1. Gandakan repo

    git clone https://github.com/opencv/opencv.git
    
  2. Buat builddirektori

    cd ~/opencv
    mkdir build
    cd build
    
  3. Konfigurasi

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

    make -j8
    
  5. Instal perpustakaan

    sudo make install
    
  6. Uji

    python3
    import cv2
    

Jika Anda tidak mendapatkan kesalahan "Tidak ada modul bernama cv2", berarti penginstalan berhasil.

Catatan: Jika Anda tidak mengetahui jalur ke numpyuntuk PYTHON3_NUMPY_INCLUDE_DIRSparameter, Anda dapat menemukannya dengan mengeksekusi import numpylalu numpy.__file__di shell python3.



0

Bagi saya, masalah ini disebabkan oleh fakta bahwa saya tidak menghubungkan file cv2.so dengan benar di~/.virtualenvs/cv/lib/python3.5/site-packages folder (nama virualenv Anda mungkin bukan "cv", versi python Anda mungkin tidak 3.5 - sesuaikan demikian).

Jika Anda pergi ke ~/.virtualenvs/cv/lib/python3.5/site-packagesfolder dan ls, file cv2.so akan muncul dengan warna biru muda (Ubuntu 16.04) menunjukkan bahwa itu terhubung. Anda dapat memeriksa lokasi tautan dengan mengetik: readlink cv2.so

Jika cv2.so muncul dalam warna merah (seperti milik saya), rm file dan ketik: (untuk instalasi python 3.5 saya)

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

ATAU (jika Anda memiliki python 3.6)

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

Jika Anda bekerja di python 2.6 atau python 2.7, Anda malah mengetik:

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

Jika file cv2.so atau cv2.cpython-36m-x86_64-linux-gnu.so tidak ada di /usr/local/lib/python***/dist-packageslokasi Anda , periksa apakah mereka ada di/usr/local/lib/python***/sites-packages folder. Jika demikian, sesuaikan jalurnya. Jika tidak, ada yang tidak beres dengan instalasi opencv Anda.

Jawaban ini terinspirasi oleh informasi di sini: https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/


0

Bagi mereka yang mencoba menggunakan 3.1.0 tetapi setelah menginstal python mengatakan "modul cv2 tidak ditemukan".

Anda mungkin memiliki python tetapi bukan python-dev.

sudo apt-get install python-dev

kemudian instal ulang 3.1.0 dan itu akan berhasil.


0

coba gunakan sudo apt install python3-opencv

itu akan menginstal paket terbaru dari open cv.

Atau Anda dapat mencoba menginstal ulang paket opencv. Mungkin rusak selama instalasi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.