2013/07/17

Pythonで「ImportError: No module named …」が出た時の3つの対処法

このエラーは、インポートしている .pyファイルが見つからないときに出ます。

果てしなく既出っぽいですが、他のモジュールを使うときの3通りの方法をまとめます。

例:main.py が /path/to/dir/sub.py をインポートする場合

1. インポートする側のソースファイルで対処

インポートする側のソース(main.py)の先頭に下記を書き足す。

 import sys
 sys.path.append('/path/to/dir')

2. シェルで対処

.bashrc 等に下記を書き足す。

 export PYTHONPATH=/path/to/dir:$PYTHONPATH

3. 実行する度に対処

ふだん、main.py を実行するとき、

 $python main.py

としているのを、

$PYTHONPATH=/path/to/dir python main.py

として実行する。

カレントディレクトリ配下のディレクトリを指定する場合は、下記のように。

$PYTHONPATH=. python main.py 

いずれの場合も、インポートされる側のディレクトリに__init__.pyを置くのを忘れないように注意。

/path/to/dir
          |
          +-- __init__.py
          |
          +-- sub.py
Related Posts Plugin for WordPress, Blogger...

0 コメント :

コメントを投稿