特定のディレクトリからモジュールをインポートしようとしています。
問題は、sys.path.append(mod_directory)
パスを追加して Python インタープリターを開くと、ディレクトリがmod_directory
sys.path リストの末尾に追加されることです。PythonPYTHONPATH
インタープリターを開く前に変数をエクスポートすると、ディレクトリがリストの先頭に追加されます。後者の場合、モジュールをインポートできますが、前者の場合はインポートできません。
mod_directory
誰か、なぜこのようなことが起こるのか説明し、先頭に追加する解決策を教えてくれませんか。内部Python スクリプトですか?
ベストアンサー1
これはドキュメントどおりに動作します。 で指定されたパスは、PYTHONPATH
通常、作業ディレクトリの後、標準のインタープリタが提供するパスの前に来るとドキュメント化されています。sys.path.append()
既存のパスに追加されます。ここそしてここ特定のディレクトリを先頭にしたい場合は、sys.path の先頭に挿入するだけです。
import sys
sys.path.insert(0,'/path/to/mod_directory')
PYTHONPATH
とはいえ、通常は、直接使用したり操作したりするよりも、インポートを管理する方がよい方法がありますsys.path
。たとえば、この質問。