Pengembang lain dan saya tidak setuju tentang apakah PYTHONPATH atau sys.path harus digunakan untuk mengizinkan Python menemukan paket Python di direktori pengguna (misalnya, pengembangan).
Kami memiliki proyek Python dengan struktur direktori yang khas:
Project
setup.py
package
__init__.py
lib.py
script.py
Di script.py, kita perlu melakukan import package.lib
. Ketika paket diinstal di paket-situs, script.py dapat menemukan package.lib
.
Namun, saat bekerja dari direktori pengguna, ada hal lain yang perlu dilakukan. Solusi saya adalah mengatur PYTHONPATH saya untuk menyertakan "~ / Project". Pengembang lain ingin meletakkan baris kode ini di awal script.py:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
Sehingga Python dapat menemukan salinan lokal package.lib
.
Saya pikir ini adalah ide yang buruk, karena baris ini hanya berguna untuk pengembang atau orang yang menjalankan dari salinan lokal, tetapi saya tidak dapat memberikan alasan yang baik mengapa ini adalah ide yang buruk.
Haruskah kita menggunakan PYTOHNPATH, sys.path, atau tidak masalah?