Ми з іншим розробником не погоджуємось, чи слід використовувати PYTHONPATH або sys.path, щоб дозволити Python знаходити пакет Python в каталозі користувача (наприклад, розробці).
У нас є проект Python із типовою структурою каталогів:
Project
setup.py
package
__init__.py
lib.py
script.py
У script.py нам потрібно це зробити import package.lib
. Коли пакет інстальовано в site-пакети, 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, або це нормально?