web-dev-qa-db-ja.com

Pythonのsys.pathへのファイルパスの永続的な追加

example_file.pyというファイルがあり、他のさまざまなファイルから使用したいので、example_file.pysys.pathに追加し、このファイルを別のファイルにインポートしてファイルを使用することにしました。そのために、IPythonで次を実行しました。

import sys
sys.path
sys.path.append('/path/to/the/example_file.py')
print(sys.path)

追加したばかりのパスが表示され、次のような別のディレクトリパスからこのファイルをインポートしようとしたとき:

import example_file

うまくいきましたが、IPythonから出て、もう一度入力してsys.pathを確認すると、追加したパスが存在しないことがわかりました。sys.pathにパスを追加するにはどうすればよいですかPythonで永久に?

いくつかの方法があります。最も簡単な方法の1つは、my-paths.pthファイルを作成することです( here で説明)。これは、システム.pthディレクトリに配置した拡張子site-packagesの単なるファイルです。ファイルの各行に1つのディレクトリ名を追加します。そのため、/path/to/the/を使用して行を追加すると、そのディレクトリがパスに追加されます。

PYTHONPATH環境変数を使用することもできます。これはシステムPATH変数に似ていますが、sys.pathに追加されるディレクトリが含まれます。 ドキュメント を参照してください。

sys.pathには、ファイルではなくディレクトリが含まれていることに注意してください。 「ファイルをsys.pathに追加」することはできません。常にそのディレクトリを追加してから、ファイルをインポートできます。

75
BrenBarn