2009-03-10 1 views
1

Я стараюсь разрабатывать свои приложения в режиме setup.py develop. Я хочу, чтобы конфигурация автоматически включалась в режиме производства, когда программа получает setup.py install.выяснить, установлен ли модуль python или в режиме разработки

Это может быть сделано слабыми хаками, например, проверьте, содержит ли каталог установки «setup.py», но мне интересно, может ли pkg_resources сделать это для меня каким-то образом.

ответ

4

Действительно, pkg_resources will do that:

dist = pkg_resources.get_distribution('your-app') 
if dist.precedence == pkg_resources.DEVELOP_DIST: 
    # package is in development mode 
    ... 
+0

Вы узнаете что-то новое каждый день. :) –

5

Не проще и чище просто установить переменную окружения на вашей машине разработки и проверить на os.environ['development_mode'] (или на ваш выбор)?

+0

+1: проще, лучше. –

+0

Возможно. Хотя, похоже, не сложно было получить эту информацию через pkg_resources. – Cheery

+0

Нет, но по-прежнему, как правило, плохая идея основывать поведение на манере установки. Если вы хотите отлаживать определенный фрагмент кода, который выполняется только за пределами режима разработки, вам нужно отредактировать код или переустановить пакет. С настройкой среды вы просто установите переменную. –

0

Другой вариант заключается в использовании virtualenv. Тогда ваша среда разработки может быть идентична вашей производственной среде. На мой взгляд, Setuptools - довольно тяжелая вещь.

 Смежные вопросы

  • Нет связанных вопросов^_^