別の開発者と私は、Pythonがユーザー(開発など)ディレクトリでPythonパッケージを検索できるようにするために使用するかどうPYTHONPATH
かについて意見が分かれています。sys.path
典型的なディレクトリ構造を持つPythonプロジェクトがあります。
Project
setup.py
package
__init__.py
lib.py
script.py
script.pyでは、を実行する必要がありますimport package.lib
。パッケージがsite-packagesにインストールされると、script.pyはを見つけることができますpackage.lib
。
ただし、ユーザーディレクトリから作業する場合は、別のことを行う必要があります。私の解決策は、PYTHONPATH
を含めるように設定すること"~/Project"
です。別の開発者は、次のコード行をscript.pyの先頭に配置したいと考えています。
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
Pythonがのローカルコピーを見つけることができるようにしますpackage.lib
。
この行は開発者またはローカルコピーから実行している人々にのみ役立つため、これは悪い考えだと思いますが、それが悪い考えである理由を説明することはできません。
、、を使用する必要がありますかPYTOHNPATH
、sys.path
それとも問題ありませんか?