https://www.lifewithpython.com/2014/01/python-add-directories-to-path-to-import-libraries-from.html


Python Tips:ライブラリ読み込み対象ディレクトリを追加したい

Python で特定のディレクトリをライブラリ読み込み対象パスに追加する方法をご紹介します。

Python でライブラリを読み込むディレクトリは sys.path の中にリストアップされています。
import sys
print sys.path  # => パスの一覧を格納したリスト

sys.pathの結果としてはsys.pathに登録されているすべてのディレクトリが表示されます。

['C:\\dev\\project\\aipscm_slct_front_param', 'C:\\Program Files\\JetBrains\\PyCharm Community Edition 2018.3.3\\helpers\\pydev', 'C:\\dev\\project\\aipscm_slct_front_param', 'C:\\Program Files\\JetBrains\\PyCharm Community Edition 2018.3.3\\helpers\\third_party\\thriftpy', 'C:\\Program Files\\JetBrains\\PyCharm Community Edition 2018.3.3\\helpers\\pydev', 'C:\\ProgramData\\Miniconda3\\lib\\site-packages', 'C:\\ProgramData\\Miniconda3\\lib\\site-packages\\win32', 'C:\\ProgramData\\Miniconda3\\lib\\site-packages\\win32\\lib', 'C:\\ProgramData\\Miniconda3\\lib\\site-packages\\Pythonwin', 'C:\\dev\\project\\aipscm_slct_front_param'] <- 新しく追加されたPath

このリストに、通常のリストと同じやり方でディレクトリを追加すると、そのディレクトリが読み込み対象に追加されます。

サンプルです。

import sys

# /Users/username/Desktop ディレクトリを import の探索パスに追加
sys.path.append("/Users/username/Desktop")

# /Users/username/Desktop/mylib.py が読み込める
import mylib

末尾に追加する .append() でもいいですし、末尾以外の場所に追加する .insert() も使用可能です。


例えば、この方法を使ってスクリプトが入っているディレクトリを追加したい場合は次のようにします。
import sys
import os

sd = os.path.dirname(__file__)
sys.path.append(sd)


※参考

import os # ファイルのパス file = __file__ # ファイルの絶対パス abspath = os.path.abspath(__file__) # 現在ファイルディレクトリから1個上のディレクトリ n1 = os.path.dirname(os.path.abspath(__file__)) # 現在ファイルディレクトリから2個上のディレクトリ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

以上です。


+ Recent posts