Я использую Python с средой Cygwin для разработки сценариев обработки данных и пакетов Python. Я бы хотел активно использовать сценарии, а также обновлять пакеты, от которых зависят эти сценарии. Мой вопрос заключается в том, что является наилучшей практикой, рекомендацией по управлению пути загрузки модуля для изоляции и тестирования изменений в разработке, но не влияющих на работу производственного скрипта.Отдельные пути Python для разработки и производства
Python импортирует модули в следующем порядке (см М. Лутц, Learning Python)
- домашний каталог.
PYTHONPATH
справочники.- Стандартные библиотечные каталоги.
- Содержимое любого
*.pth
файла.
Мое текущее решение установить мои пакеты в локальной (не в /usr/lib/python2.x/
) site-packages
каталог и добавьте *.pth
файл в глобальной site-packages
директории поэтому они загружаются по умолчанию. В каталоге разработки я просто изменяю PYTHONPATH
для загрузки пакетов, с которыми я активно работаю с локальными изменениями.
Есть ли более стандартный способ обработки этой ситуации? Настройка virtualenv
или какой-либо другой способ манипулирования нагрузкой на модуль?
Virtualenv звучит как путь. – Max
Я полагаю, что это не давно запущенная программа Python, или такая, которая порождает дочерние процессы Python, правильно? В противном случае кажется, что у вас возникнут проблемы с 'sys.modules' и' sys.path', которые не синхронизируются во время выполнения. –