Еще один разработчик и я не согласен с тем, следует ли использовать PYTHONPATH или sys.path, чтобы позволить Python находить пакет Python в каталоге пользователя (например, разработки).
У нас есть проект 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 или либо отлично?