Help us understand the problem. What is going on with this article?

pythonでimportできない時の調査

numpyですらimportできない。
pip listでは入っているのに、、、という時の確認。
グチャぐちゃなマシンに環境構築しないといけない時などに。

pythonのパス

まずはここから。

ls -l `which python3`

python3というコマンドを打った時にどこを参照しているのかわかる。
意図せず複数のpythonが入っていることがあるので、
自分の使いたいものと一致しているかを確認する。

pipのパス

pip3 --version
ls -l `which pip3`

モジュールのインストールの確認

pip3 show [モジュール名]

例えば、numpyの場合、

pip3 show numpy

インストールされている場合は、Locationに注目する。

Name: numpy
Version: 1.18.1
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: None
License: BSD
Location: /usr/local/lib/python3.7/site-packages

python systemのパス

python3

Enterしてpython3に入る。その後下記3行を実行

import sys
import pprint
pprint.pprint(sys.path)

パスが表示されたら、control+Dで抜ける.
ここに、モジュールのLocationがあるかを確認。

なければ、環境変数PYTHONPATHを確認

環境変数PYTHONPATHの確認

echo $PYTHONPATH

モジュールのLocation設定をここに書いておけば
とりあえず動く。

bashならば、

export PYTHONPATH=[モジュールLocation]

cshならば、

setenv PYTHONPATH [モジュールLocation]

で、環境変数にいれる。
確認は、echo $PYTHONPATHで。

ただし、ターミナルの再起動で環境変数はリセットされる。
永続するなら、bash_profilecshrcなどに追記する。
(別途、環境変数の設定で調べてください)

リトライ

python3 
import [モジュール名]

してみる。

jmtsn
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした