Inny programista i ja nie zgadzamy się co do tego, czy PYTHONPATH lub sys.path powinny być używane, aby umożliwić Pythonowi znalezienie pakietu Pythona w katalogu użytkownika (np. Deweloperskim).
Mamy projekt w Pythonie z typową strukturą katalogów:
Project
setup.py
package
__init__.py
lib.py
script.py
W script.py musimy to zrobić import package.lib
. Gdy pakiet jest instalowany w pakietach witryn, plik script.py może znaleźć package.lib
.
Jednak podczas pracy z katalogu użytkownika należy zrobić coś innego. Moim rozwiązaniem jest ustawienie mojej PYTHONPATH tak, aby zawierała „~ / Project”. Inny programista chce umieścić tę linię kodu na początku script.py:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
Aby Python mógł znaleźć lokalną kopię package.lib
.
Myślę, że to zły pomysł, ponieważ ta linia jest przydatna tylko dla programistów lub osób korzystających z lokalnej kopii, ale nie mogę podać dobrego powodu, dla którego jest to zły pomysł.
Czy powinniśmy użyć PYTOHNPATH, sys.path, czy też jest w porządku?