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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

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

Q&A

解決済

1回答

4239閲覧

インストールされているはずのopenCVがimportできません

jyansinkai

総合スコア66

Python 3.x

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

0グッド

0クリップ

投稿2023/01/22 07:48

環境:
WIN10のPCから、ロリポップのサーバーに、TeraTermでSSH接続をしています。
ロリポップのPythonのバージョンは、
$ python -V → 2.7.5
$ python3 -V → 3.7.16
と出ます。

TeraTermでSSH接続した直後、以下のように、openCVをインストールしました。

$ pip install opencv-python

その後、

$ pip list

としますと、opencv-python 4.7.0.68がリストに現れました。
次に、

$ python

で対話モードにして、

>>> import cv2

としました。すると、以下のエラーが出ました。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2

見つからない?そんなバカな。
リストには出ましたのに。
そう思い、Ctrl+Dで対話モードから抜けた後、

$ pip show opencv-python

とし、詳細を見ましたところ、以下のように出ました。

Name: opencv-python
Version: 4.7.0.68
Summary: Wrapper package for OpenCV python bindings.
Home-page: https://github.com/opencv/opencv-python
Author:
Author-email:
License: MIT
Location: /home/users/1/(ユーザーネーム)/.local/lib/python3.7/site-packages
Requires: numpy
Required-by:

ここで再度対話モードにするため

$ python

と入力し対話モードに入った後、
>>>import sys
>>>sys.path

と入力し、パスを調べました所、以下のように表示されました。
['', '/usr/lib64/python27.zip',
'/usr/lib64/python2.7',
'/usr/lib64/python2.7/plat-linux2',
'/usr/lib64/python2.7/lib-tk',
'/usr/lib64/python2.7/lib-old',
'/usr/lib64/python2.7/lib-dynload',
'/usr/lib64/python2.7/site-packages',
'/usr/lib64/python2.7/site-packages/gtk-2.0',
'/usr/lib/python2.7/site-packages']

これを見て、ははあ、パスがないんだな、と考え、
>>>sys.path.append("/home/users/1/(ユーザーネーム)/.local/lib/python3.7/site-packages")
と、パスの追加を行いました。

今度は大丈夫だろうと、再度

>>>import cv2

としました所、最初と全く同じエラー「見つからない」が表示されました。
半日ほど調べましたが、解決策を書いたページは見つからず、お手上げです。

どのようにすれば、ロリポップのサーバーにopenCVが正しくインストールできるのでしょうか?
以上、何卒よろしくお願い申し上げます。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コマンドラインから pipコマンドでインストールしたOpenCVは以下のようにpython3のモジュールとして入っています。
Location: /home/users/1/(ユーザーネーム)/.local/lib/python3.7/site-packages

しかし、 pythonで起動したpythonは、2.7 です。
'/usr/lib64/python2.7/site-packages',

対応さくは、どのpythonを使いたいのかによりますが

  • python3 で作業するのであれば、 インタープリタ起動時に python3 などとする。
  • python2 で作業したいのであれば、 python2 の環境にOpenCVを入れる。

python2の環境にOpenCVを入れるには、
python -m pip install opencv-python
とするのがいいでしょう。

ちなみに、複数のpythonがインストールされている環境で単に「pip」とした場合、そのpipがどのpythonのpipなのかわからず、今回のようなことになりがちなのです。 python3のpipがpip3でないことも多々あります。なので、pip を使うときは、pythonコマンドから実行することをお勧めします。
python -m pip install xxx
python3 -m pip install xxx

投稿2023/01/22 09:01

TakaiY

総合スコア12765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jyansinkai

2023/01/22 10:37

懇切丁寧なご回答、誠に有難うございます。 ご指摘頂きました通り、まずは python3 -m pip install opencv-python としました。次に、 $ python >>>import sys >>>sys.path とした所を変更し $ python3 >>>import sys >>>sys.path としました所、 Location: /home/users/1/(ユーザーネーム)/.local/lib/python3.7/site-packages リストの中には、このパスが確かに入っておりました。 この状態で >>>import cv2 とすれば、特にメッセージも出ずimportできるはずなのですが、相変わらず >>> import cv2 Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'cv2' …と、cv2が見当たらないとエラーが出てしまいます。 パスが通っているはずなのに、importができない状態が継続している結果となりました。 何か不足している手順があるのでしょうか、何卒ご指摘頂きたく存じます。
TakaiY

2023/01/22 11:07

おかしいですね。 python3 -m pip list で、opencvは表示されますか? python3 -m pip show opencv-python の出力はどうなっていますか?
jyansinkai

2023/01/23 00:49

$ python3 -m pip show opencv-python としました所、以下の通り表示されました。 Name: opencv-python Version: 4.7.0.68 Summary: Wrapper package for OpenCV python bindings. Home-page: https://github.com/opencv/opencv-python Author: Author-email: License: MIT Location: /home/users/1/(ユーザー名)/.local/lib/python3.7/site-packages Requires: numpy Required-by: また、 >>> import sys >>> sys.path ['', '/usr/local/python/3.7/lib/python37.zip', '/usr/local/python/3.7/lib/python3.7', '/usr/local/python/3.7/lib/python3.7/lib-dynload', '/home/users/1/(ユーザー名)/.local/lib/python3.7/site-packages', '/usr/local/python/3.7/lib/python3.7/site-packages'] この通り、python3にインストールされておりますし、パスも存在しているはずなのです…。
jyansinkai

2023/01/23 01:36

今ほど調べておりました所、pythonのバージョンとopencvのバージョンは合わせる必要があるとのことで、 $ pip3 uninstall opencv-python で既存のバージョンをアンインストールした後、 $ pip3 install opencv-python==3.4.18.65 このようにしました所、 >>>import cv2 >>> と、エラーなくimportできました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問