Другой разработчик и я не согласны с тем, следует ли использовать PYTHONPATH
или sys.path
, чтобы позволить Python найти пакет Python в каталоге пользователя (например, разработки).
У нас есть проект 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
или оба варианта подходят?
PATH
иsys.path
(и косвенноPYTHONPATH
) см. также stackoverflow.com/questions/25344841/sys- путь-против-пути - person tripleee   schedule 10.11.2020