Installazione di OpenCV per Python su Ubuntu, ottenendo ImportError: Nessun modulo denominato cv2.cv


87

Ho un sistema Ubuntu 14.04, su cui voglio installare OpenCV e utilizzarlo con Python 2.x.

Ho installato OpenCV usando le istruzioni qui: https://help.ubuntu.com/community/OpenCV

L'installazione sembrava funzionare correttamente, nessun errore, lo script si è concluso con l'output

OpenCV 2.4.9 ready to be used

Quando provo a eseguire lo script Python di esempio, ottengo quanto segue:

$ 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

Sospetto di sapere perché, semplicemente non so come risolverlo. OpenCV installato nella directory corrente in cui mi trovavo quando ho eseguito lo script di installazione, è una sottodirectory della mia cartella home.

Altri che ottengono questo errore di importazione dopo l'installazione sembrano avere un problema di percorso e hanno fortuna aggiungendolo al loro codice:

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

o aggiornando il loro PYTHONPATH con la stessa directory. Ho provato ad aggiungere quel codice, non fa differenza. Non vedo alcun file nella directory "site-packages". Avrei dovuto fare l'installazione in quella directory? Immagino che le istruzioni di installazione lo avrebbero spiegato. Sospetto che il mio problema abbia a che fare con Python che non trova l'installazione di OpenCV, ma non sono sicuro di come procedere.

Per favore aiutami a ottenere un'installazione utilizzabile di OpenCV nel modo più semplice possibile.



@krock Non penso che questo sia un duplice. Non ho il file cv2.so presente nella mia directory dei pacchetti del sito come aveva quell'utente. Inoltre, ho menzionato le due soluzioni fornite in quel post e nessuna delle due ha funzionato qui.
rapina il

1
ma puoi importare cv2? il vecchio modulo cv (o cv2.cv) non sarà presente nelle prossime versioni di
opencv

@berak No, non posso nemmeno importare cv2.
rapina il

Risposte:


110

Penso che tu non abbia il python-opencvpacchetto.

Ho avuto lo stesso identico problema e

sudo apt-get install python-opencv

ha risolto il problema per me.

puoi installare opencv dal seguente link https://www.learnopencv.com/install-opencv3-on-ubuntu/ Per me funziona. apt-get install non contiene molti pacchetti di opencv


Perché la tua risposta dovrebbe essere diversa dalle altre?
Michele d'Amico

L'OP ha il pacchetto. In caso contrario, ImportError direbbe "nessun pacchetto denominato cv2".
Andy Hayden

Stesso problema, ho provato a installare seguendo le istruzioni qui: help.ubuntu.com/community/OpenCV Nessuna fortuna. Questa soluzione ha funzionato per me. Grazie!
jschabs

2
Era così semplice! Dopo aver agonizzato su tante altre "soluzioni" incredibilmente complesse, nessuna delle quali ha funzionato, questo ha funzionato. Grazie! :-)
Rafael_Espericueta

sudo dnf installa opencv-python per fedora.
Dinuka Thilanga

30

Ho avuto anche questo problema. Ho provato cose diverse. Ma finalmente

conda install opencv

ha funzionato per me.


1
Funzionerà assumendo che il tuo pitone sia Anaconda.
ComputerScientist

4
Nota conda install opencvnon funziona per Windows a 64 bit.
shahar_m

17

Se vuoi il più semplice possibile, installa dal repository:

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

1
Ho dovuto tagliare la opencv-devparte, ma per il resto questa risposta ha funzionato bene per me.
Brian Z

La migliore risposta qui!
Giacomo1968

11

Usa pip:

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

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

E quando aggiungi un percorso a PYTHONPATH con sys, PYTHONPATH viene sempre riavviato ai valori predefiniti quando chiudi la shell Python. Controlla questo thread:

Aggiungi definitivamente una directory a PYTHONPATH

Per prima cosa aggiungi openCV al tuo percorso (Guida rapida):

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

dopodiché, installa i pacchetti non python pyopencv dipende da:

sudo apt-get build-dep python-opencv

infine, usa pip:

pip install pyopencv

Inoltre, puoi controllare questo tutorial per installare openCV in Ubuntu 14.04 LTS

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


4
Quale pacchetto pip devo usare per OpenCV? Ce ne sono molti elencati su pypi.python.org/pypi , non è chiaro quale sia ufficiale e / o attuale.
Robm

Modificherò la mia risposta con una breve guida, contrassegnala come corretta se è stata utile
Juan David

2
Questo non è corretto. Il motivo per cui viene visualizzato questo errore è perché il sottomodulo cv non è più presente nelle versioni recenti.
Andy Hayden

Non sto parlando del motivo dell'errore. Sto solo dando una possibile soluzione. Funziona per me, forse potrebbe essere utile per qualcun altro @AndyHayden
Juan David

ERRORE: impossibile trovare una versione che soddisfi il requisito pyopencv (dalle versioni: 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) ERRORE: Nessuna distribuzione corrispondente trovata per pyopencv
Stepan Yakovenko

10

Prova conda install -c conda-forge opencvse stai usando anaconda, funziona!


8

Trova dove si cv2.sotrova, ad esempio /usr/local/lib/python2.7/dist-packages, quindi aggiungilo al tuo ~/.bashrcfacendo:

sudo gedit ~/.bashrc

e aggiungi

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

Nell'ultima riga

E poi ricordati di aprire un altro terminale, questo può funzionare e ho risolto il mio problema. Spero possa aiutarti.


5

Verifica se cv2.so è stato compilato, dovrebbe essere posizionato in: /usr/local/lib/python2.7/site-packages Quindi esporta quel percorso in questo modo

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

Come nella risposta qui


4

Il mio ambiente:

  • Ubuntu 15.10
  • Python 3.5

Poiché nessuna delle risposte precedenti ha funzionato per me, ho scaricato OpenCV 3.0 da http://opencv.org/downloads.html e ho seguito il manuale di installazione . Ho usato il seguente cmakecomando:

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

Ogni passaggio del tutorial è importante. In particolare, non dimenticare di chiamare sudo make install.



3

Crea un collegamento simbolico a OpenCV. Per esempio:

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

Se sei davvero sicuro di aver installato cv2 ma non dà alcun errore del modulo. C'è una soluzione per questo. Probabilmente hai un cv2.sofile nella tua directory

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

sposta questo cv2.sofile in

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

copia il file nella directory dei pacchetti del sito



2

È un incubo di installazione completo, ma ti darò un'altra speranza che tu possa evitare di costruire opencv dalla fonte:

pip installa opencv-contrib-python


1

se stai usando la piattaforma pycharm è molto semplice andare in view => tool windows ==> console python dopodiché vedrai in basso la console con [1]: digita questo!pip install opencv-python


1

Ho provato tutte le altre opzioni qui, ma non sono riuscito a import cv2lavorare con Anaconda su Ubuntu. Questa è l'unica cosa che ha aiutato:

pip install opencv-python


grazie. funziona: pip3 installa opencv-python. ////// Test: python3 / import numpy / import cv2
Soner PALANCI

1

Puoi creare per i sorgenti seguendo il tutorial ufficiale di OpenCV . La parte cruciale è quello di impostare i PYTHON3_EXECUTABLE, PYTHON_LIBRARY, PYTHON3_PACKAGES_PATHe PYTHON3_NUMPY_INCLUDE_DIRSparametri per python3.6. Ecco tutti i passaggi:

  1. Clona il repo

    git clone https://github.com/opencv/opencv.git
    
  2. Crea builddirectory

    cd ~/opencv
    mkdir build
    cd build
    
  3. Configura

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

    make -j8
    
  5. Installa le librerie

    sudo make install
    
  6. Test

    python3
    import cv2
    

Se non ricevi l'errore "Nessun modulo denominato cv2", l'installazione è riuscita.

Nota: se non conosci il percorso numpydel PYTHON3_NUMPY_INCLUDE_DIRSparametro, puoi trovarlo eseguendolo import numpye poi numpy.__file__in una shell python3.



0

Per me, questo problema era dovuto al fatto che non avevo collegato in modo appropriato il file cv2.so nel~/.virtualenvs/cv/lib/python3.5/site-packages cartella (il nome del tuo virualenv potrebbe non essere "cv", la tua versione di python potrebbe non essere 3.5 - modifica di conseguenza).

Se vai al ~/.virtualenvs/cv/lib/python3.5/site-packages cartella e ls, il file cv2.so dovrebbe apparire in azzurro (Ubuntu 16.04) mostrando che è collegato. È possibile controllare la posizione del collegamento digitando: readlink cv2.so

Se cv2.so appare in rosso (come il mio), rm il file e digita: (per la mia installazione di python 3.5)

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

OPPURE (se hai python 3.6)

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

Se stai lavorando in Python 2.6 o Python 2.7, digita invece:

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

Se i file cv2.so o cv2.cpython-36m-x86_64-linux-gnu.so non esistono nella tua /usr/local/lib/python***/dist-packagesposizione, controlla se si trovano in un/usr/local/lib/python***/sites-packages cartella. In tal caso, modifica il percorso di conseguenza. In caso contrario, qualcosa è andato storto con l'installazione di opencv.

Questa risposta è stata ispirata dalle informazioni qui: https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/


0

Per coloro che stanno provando a usare 3.1.0 ma dopo aver installato python dice "modulo cv2 non trovato".

Probabilmente hai python ma non python-dev.

sudo apt-get install python-dev

quindi reinstallare 3.1.0 e funzionerà.


0

prova a usare sudo apt install python3-opencv

installerà l'ultimo pacchetto di open cv.

Oppure potresti provare a reinstallare il pacchetto opencv. Potrebbe essersi danneggiato durante l'installazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.