Еще один разработчик и я не согласен с тем, следует ли использовать PYTHONPATH или sys.path, чтобы позволить Python находить пакет Python в каталоге пользователя (например, разработке).PYTHONPATH vs. sys.path
У нас есть проект Python с типичной структурой каталогов:
Project
setup.py
package
__init__.py
lib.py
script.py
В script.py, нам нужно сделать import package.lib
. Когда пакет устанавливается в сайтах-пакетах, 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, или это нормально?
Кажется, что голоса и ответы разделены довольно равномерно с очень небольшим наклоном к использованию PYTHON_PATH, хотя это может быть шум выборки или непреднамеренное смещение вопроса. – AJP