Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@jmtsn

pythonでimportできない時の調査

More than 1 year has passed since last update.

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 [モジュール名]

してみる。

1
Help us understand the problem. What is going on with this article?
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
jmtsn
非情報系。お酒は泡盛派。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?