質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

解決済

opencvを実行するとNo module named 'cv2'というエラーが出る

ozumin
ozumin

総合スコア1

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

2回答

0リアクション

0クリップ

1338閲覧

投稿2022/08/23 18:37

編集2022/08/23 23:09

前提

anaconda環境下でopencvを動作させようとするとimport段階で止まってしまいます

anaconda 4.14.0
python 3.9.12
opencv
・pip版(opencv-python) 4.6.0.66
・conda版 4.5.5

実現したいこと

opencvのimportを行う

発生している問題・エラーメッセージ

(testopencv) C:(path)>trial-cv.py
Traceback (most recent call last):
File "C:(path)\trial-cv.py", line 1, in <module>
import cv2
ModuleNotFoundError: No module named 'cv2'

該当のソースコード

trial

import cv2 exit()

試したこと

conda installとopencvの相性が悪いという内容の記事を発見したためpip install版も試してみましたが同様のエラーが発生しました
また、余計な不具合を招かないため、新しい環境(python3.9、opencvのみインストール)を制作し、conda install、pip installの間は環境ごと作り直しています

また、対話モードを利用し

python

import cv2 cv2.__version__

を実行すると、特にエラーを出すこともなく正しいバージョンを出力します
また、conda list上でも正常に表示されます

補足情報(FW/ツールのバージョンなど)

anacondaの操作が悪い可能性があるので一応記載しておきます
anaconda prompt上で操作を行っています

conda版

conda create -n testopencv python=3.9 conda activate testopencv conda install opencv conda list //opencvの存在を確認(opencv 4.5.5 py39h697d983_4) python //対話モードの起動 import cv2 cv2.__version__ // 4.5.5 と出力 print(cv2) //module 'cv2' from 'C:\\(path)anaconda3\\envs\\testopencv\\lib\\site-packages\\cv2.cp39-win_amd64.pyd'

pip版

conda create -n testopencv2 python=3.9 conda activate testopencv2 pip install opencv-python conda list //opencvの存在を確認(opencv-python 4.6.0.66 pypi_0 pypi) python //対話モードの起動 import cv2 cv2.__version__ // 4.6.0.66 と出力 print(cv2) //module 'cv2' from 'C:\\(path)anaconda3\\envs\\testopencv\\lib\\site-packages\\cv2\\__init__.py'

よろしくお願いいたします

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

jbpb0

2022/08/23 22:48

pythonの対話モードで下記を実行して、使ってるpythonの絶対パスを調べてください import sys print(sys.executable) trial-cv.pyの先頭に上記コードを追加して実行して、使ってるpythonの絶対パスを調べてください 両者は同じでしょうか?
jbpb0

2022/08/23 22:52

C:(path)>trial-cv.py ではなく C:(path)>python trial-cv.py と実行したら、どうなりますでしょうか?
ozumin

2022/08/23 23:28

ありがとうございます 確認してみたところ、対話の方ではAnaconda側を、コード側ではAppdate側(要は親のもの)を参照していました pathの再設定が面倒くさかったので一度anacondaを再ダウンロードしてみます
jbpb0

2022/08/24 04:11 編集

> コード側ではAppdate側(要は親のもの)を参照 おそらく、「*.py」ファイルにそちらのpythonがosの設定で関連付けされてるのだと思います 上記の通りなら、anacondaの仮想環境を有効にしても、たぶんos設定の関連付けは変わらないので、 C:(path)>trial-cv.py のようにして実行するのでは、質問者さんがやりたいこと(その時に有効な仮想環境のpythonが使われる)は実現できないような気がします 私の二つ目のコメントに書いたように C:(path)>python trial-cv.py のようにして実行したら、対話モードと同じpythonが使われると思いますよ

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。