LoginSignup
4
4

More than 1 year has passed since last update.

Python 上層のモジュールをimportするためのsys.path.append

Last updated at Posted at 2021-06-21

備忘録:実行ファイルより上層に配置した自作モジュールをimport

いつも躓くので書いておく

結論

moduleがあるディレクトリのpathをPYTHONPATHへ追加する

# .pyの場合
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '実行ファイルからの相対path'))
# .ipynbの場合
import os
import sys
from pathlib import Path
sys.path.append(os.path.join(Path().resolve(), '実行ファイルからの相対path'))

ipynbではfile変数を参照できないのでPath()から参照する
通常pythonは環境変数PYTHONPATHの上位から順に探索してるらしい

感想

  • これで読み込めるが、sys.path.append("相対path")との違いがよくわかってない
  • 首記のコードでは実行ファイルまでのpathに相対pathをつなげて(絶対pathとして)いるのだろうけど

備考

PYTHONPATHをコード内でいじらず、pthファイルに記述する方法もある

4
4
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
4
4