PYTHONPATH vs. sys.path

Inny deweloper i ja nie zgadzamy się co do tego, czy PYTHONPATH lub sys.path powinny być używane do umożliwienia Pythonowi znalezienia pakietu Pythona w katalogu użytkownika (np. Programistycznym).

Mamy projekt Pythona 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 site, skrypt.py może go znaleźćpackage.lib.

Jednak podczas pracy z katalogu użytkownika trzeba zrobić coś innego. Moim rozwiązaniem jest ustawienie PYTHONPATH na „~ / Project”. Inny programista chce umieścić ten wiersz kodu na początku script.py:

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

Więc Python może znaleźć lokalną kopiępackage.lib.

Myślę, że to zły pomysł, ponieważ ta linia jest przydatna tylko dla programistów lub osób działających z lokalnej kopii, ale nie mogę podać dobrego powodu, dla którego jest to zły pomysł.

Czy powinniśmy używać PYTOHNPATH, sys.path, czy też jest w porządku?

questionAnswers(5)

yourAnswerToTheQuestion