1. ホーム
  2. python

[解決済み] sys.path/PYTHONPATHにディレクトリを追加する。

2022-04-27 05:10:15

質問

私は特定のディレクトリからモジュールをインポートしようとしています。

問題は、もし私が sys.path.append(mod_directory) を追加し、Python インタープリターを開くと、ディレクトリの mod_directory がリスト sys.path の末尾に追加されます。をエクスポートすると PYTHONPATH 変数を使用すると、ディレクトリはリストの先頭に追加されます。後者の場合、モジュールをインポートすることができますが、前者の場合、できません。

なぜこのような現象が起こるのか、また、このような現象に対処するために mod_directory を開始します。 内部 pythonスクリプト?

解決方法は?

ドキュメント通りに動作しています。 で指定されたすべてのパスは PYTHONPATH は通常、作業ディレクトリの後、標準的なインタープリタが提供するパスの前に来るものとして文書化されています。 sys.path.append() は既存のパスに追加されます。 参照 ここで こちら . 特定のディレクトリを最初に表示させたい場合は、sys.pathの先頭に挿入するだけです。

import sys
sys.path.insert(0,'/path/to/mod_directory')

とはいえ、インポートを管理する方法として、通常は PYTHONPATH を操作したり sys.path を直接表示します。 例えば、次のような答えをご覧ください。 この質問 .