LoginSignup
1
8

More than 1 year has passed since last update.

pythonでimportできない時の調査

Last updated at Posted at 2020-02-15

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を確認

コマンドラインからは、

python -c 'import sys,pprint;pprint.pprint(sys.path)'

でできる。

環境変数PYTHONPATHの確認

echo $PYTHONPATH

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

bashならば、

export PYTHONPATH=[モジュールLocation]

cshならば、

setenv PYTHONPATH [モジュールLocation]

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

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

リトライ

python3 
import [モジュール名]

してみる。

1
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
8