Pythonでimportするモジュールのサーチのパスを追加する方法

Python でモジュールをimportする際のサーチパス(検索パス)を追加する方法をまとめます

検索パスの確認方法

sys.path という変数を見ると,サーチパスが確認できます

import sys
print(sys.path)

検索パスの追加方法

パスの追加方法は大きく2種類に分類できます

  • 設定ファイルを書き換えず,一時的にパスを変更する方法
  • 設定ファイルを書き換えて,恒久的にパスを変更する方法

前者はデバッグや開発時に知っておくと便利な方法です

設定ファイルを書き換えずにパスを変更する方法

方法1 sys.path変数を直接編集する

追加するディレクトリを "../lib" とします

import sys
sys.path.insert(0, '../lib')

これでパスの先頭に ../lib を追加します

方法2 python起動時のコマンドラインで指定する

コマンドラインオプションの --relpath_append を使います

$ python --relpath_append ../lib

この方法は pythonスクリプトを書いた際に活用できます

#!/usr/bin/env python3 --relpath_append ../lib


# 動作確認のために,サーチパスを表示してみる
import sys
print(sys.path)

このように shebang でサーチパスが設定できます

方法3 python起動時の環境変数で指定する

環境変数PYTHONPATHでパスが指定できます. bashなら

$ export PYTHONPATH=../lib:$PYTHONPATH
$ python 

となります

設定ファイルを書き換えてパスを変更する方法

bashを使っている場合は ~/.bashrc に

export PYTHONPATH=../lib:$PYTHONPATH

を追加します