UbuntuにOpenCV for Pythonをインストールすると、ImportErrorが発生する:cv2.cvという名前のモジュールはありません


87

OpenCVをインストールしてPython 2.xで使用したいUbuntu 14.04システムがあります。

こちらの指示に従って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を更新します。そのコードを追加してみましたが、違いはありません。「site-packages」ディレクトリにファイルがありません。そのディレクトリでインストールを実行する必要がありますか?インストール手順がそれを綴っていたと思います。私の問題はPythonがOpenCVインストールを見つけられないことに関係しているのではないかと思いますが、どうすればよいかわかりません。

OpenCVの使用可能なインストールをできるだけ簡単に入手できるように私を助けてください。



@krockこれはその重複だとは思わない。そのユーザーのように、ファイルcv2.soが私のサイトのパッケージディレクトリにありません。また、その投稿で提供されている2つのソリューションについても触れましたが、どちらもここではうまくいきませんでした。
robm 2014

1
しかし、あなた cv2 インポートできますか?古いcv(またはcv2.cv)モジュールは、今後の
opencv

@berakいいえ、cv2もインポートできません。
robm 2014

回答:


110

あなたはpython-opencvパッケージを持っていないと思います。

私はまったく同じ問題を抱えていました

sudo apt-get install python-opencv

私のために問題を解決しました。

あなたは次のリンクからopencvをインストールすることができ ますhttps://www.learnopencv.com/install-opencv3-on-ubuntu/ それは私のために働きます。apt-get installにopencvの多くのパッケージが含まれていない


なぜあなたの答えは他の人と違うはずですか?
Michele d'Amico

OPにはパッケージがあります。それ以外の場合、ImportErrorは「cv2という名前のパッケージはありません」と表示します。
アンディヘイデン

同じ問題、こちらの指示に従ってインストールを試みました:help.ubuntu.com/community/OpenCV 運が悪い。この解決策は私にとってうまくいきました。ありがとう!
jschabs

2
とても簡単でした!他の多くの信じられないほど複雑な「解決策」に悩まされた後、どれもうまくいきませんでしたが、これでうまくいきました。ありがとう!:-)
Rafael_Espericueta 2015年

sudo dnfがfedoraのopencv-pythonをインストールします。
Dinuka Thilanga

30

私もこの問題を抱えていました。別のものを試してみました。しかし最後に

conda install opencv

私のために働いた。


1
これは、PythonがAnacondaであると想定して機能します。
ComputerScientist

4
conda install opencvWindows 64ビットでは機能しないことに注意してください。
shahar_m

17

できるだけシンプルにしたい場合は、リポジトリからインストールします。

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

1
私はそのopencv-dev部分を切り取らなければなりませんでしたが、そうでなければ、この答えは私にとってうまくいきました。
Brian Z

ここでベストアンサー!
Giacomo1968

11

ピップを使用:

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

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

また、sysを使用してPYTHONPATHへのパスを追加すると、Pythonシェルを閉じると、PYTHONPATHは常にデフォルト値に再起動されます。このスレッドを確認してください:

ディレクトリをPYTHONPATHに永続的に追加します

まず、openCVをパスに追加します(クイックガイド):

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

その後、pyopencvが依存する非Pythonパッケージをインストールします。

sudo apt-get build-dep python-opencv

最後に、pipを使用します。

pip install pyopencv

また、このチュートリアルをチェックして、ubuntu 14.04 LTSにopenCVをインストールすることもできます。

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


4
OpenCVにはどのpipパッケージを使用すればよいですか?多くがpypi.python.org/pypiにリストされていますが、公式であるか最新であるかは不明です。
robm 2014

私は短いガイドで私の回答を編集します。役に立った場合は正解としてマークしてください
Juan David

2
これは正しくありません。このエラーが表示される理由は、cvサブモジュールが最近のバージョンに存在しないためです。
アンディヘイデン

エラーの理由について話しているのではありません。私は可能な解決策を与えているだけです。それは私にとってはうまくいく、おそらく他の誰かにとって有用かもしれない@AndyHayden
Juan David

エラー:要件pyopencvを満たすバージョンが見つかりませんでした(バージョン: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)エラー:pyopencvに一致する分布が見つかりません
Stepan Yakovenko

10

conda install -c conda-forge opencvアナコンダを使用している場合は、試してみてください。


8

cv2.soたとえばがどこにあるかを見つけて/usr/local/lib/python2.7/dist-packages、次のようにしてこれをに追加します~/.bashrc

sudo gedit ~/.bashrc

そして追加

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

最後の行に

そして、別のターミナルを開くことを忘れないでください。これは作業になり得、私は私の問題を解決しました。それがあなたを助けることを願っています。


5

cv2.soがコンパイルされたかどうかを確認します。次の場所に配置する必要があります。/usr/local/lib/python2.7/site-packages次に、そのパスを次のようにエクスポートします

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

ここの答えと同じ


4

私の環境:

  • Ubuntu 15.10
  • Python 3.5

以前の答えはどれもうまくいかなかったので、OpenCV 3.0をhttp://opencv.org/downloads.htmlからダウンロードし、インストールマニュアルに従いました。次のcmakeコマンドを使用しました。

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

チュートリアルの各ステップは重要です。特に、を呼び出すことを忘れないでくださいsudo make install



3

OpenCVへのシンボリックリンクを作成します。例えば:

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

cv2がインストールされていることを本当に確信しているが、モジュールエラーが発生しない これに対する解決策があります。おそらくcv2.soあなたのディレクトリにファイルがあります

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

このcv2.soファイルをに移動

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

ファイルをsite-packagesディレクトリにコピーします



2

その完全なインストールの悪夢ですが、opencvをソースからビルドしないようにできることをもう1つ希望します。

pip install opencv-contrib-python


1

pycharmプラットフォームを使用している場合は、非常に簡単 です。 その後、view => tool windows ==> python consoleに移動します。その後、[1]でコンソールの下部に表示されます。これを入力します。!pip install opencv-python


1

ここで他のすべてのオプションを試しましたが、import cv2UbuntuでAnaconda を使用できませんでした。これが助けになった唯一のことです:

pip install opencv-python


ありがとうございました。それは機能しています:pip3はopencv-pythonをインストールします。//////テスト:python3 / import numpy / import cv2
Soner PALANCI

1

公式のOpenCVチュートリアルに従ってソースをビルドできます。重要な部分は設定することでPYTHON3_EXECUTABLEPYTHON_LIBRARYPYTHON3_PACKAGES_PATHPYTHON3_NUMPY_INCLUDE_DIRSのパラメータをpython3.6。すべての手順は次のとおりです。

  1. レポのクローンを作成する

    git clone https://github.com/opencv/opencv.git
  2. buildディレクトリを作成

    cd ~/opencv
    mkdir build
    cd build
  3. 構成、設定

    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. ビルド

    make -j8
  5. ライブラリをインストールする

    sudo make install
  6. テスト

    python3
    import cv2

「cv2という名前のモジュールはありません」というエラーが表示されなければ、インストールは成功しています。

注:へのパスがわからない場合numpyのためのPYTHON3_NUMPY_INCLUDE_DIRSパラメータを、あなたが実行することでそれを見つけることができますimport numpyし、その後numpy.__file__のpython3シェルインチ



0

私にとって、この問題は、~/.virtualenvs/cv/lib/python3.5/site-packagesフォルダー内のcv2.soファイルを適切にシンボリックリンクしなかったことが原因でした(virualenvの名前が「cv」ではない可能性があります。Pythonのバージョンが3.5ではない可能性があります-調整それに応じて)。

~/.virtualenvs/cv/lib/python3.5/site-packagesフォルダーとlsに移動すると、cv2.soファイルが水色(Ubuntu 16.04)で表示され、リンクされていることを示します。次のように入力して、リンクの場所を確認できます。readlinkcv2.so

(私のように)cv2.soが赤で表示された場合は、ファイルをrmして次のように入力します(python 3.5のインストールの場合)。

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

または(python 3.6を使用している場合)

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

Python 2.6またはPython 2.7で作業している場合は、代わりに次のように入力します。

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

cv2.soまたはcv2.cpython-36m-x86_64-linux-gnu.soファイルが/usr/local/lib/python***/dist-packages場所に存在しない場合は、それらが/usr/local/lib/python***/sites-packagesフォルダーにあるかどうかを確認してください。その場合は、それに応じてパスを調整します。そうでない場合は、opencvのインストールで問題が発生しています。

この回答は、https//www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/の情報に基づいています


0

3.1.0を使用しようとしているが、Pythonをインストールした後に「cv2モジュールが見つかりません」と表示される場合。

あなたはおそらくpythonを持っていますが、python-devは持っていません。

sudo apt-get install python-dev

それから3.1.0を再インストールすれば動作します。


0

sudo apt install python3-opencvを使用してみてください

open cvの最新パッケージをインストールします。

または、opencvパッケージを再インストールしてみてください。インストール中に破損した可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.