Virtualenv отлично подходят для управления зависимостями.Файлы конфигурации (или файлы настроек) очень хороши для управления переменными различиями между средами.(например, db location e.tc)
Руководство по автостопу на питоне очень хорошее и стоит 20 минут чтения.http://docs.python -guide.org / ru / latest / index.html
См. Этот раздел по виртуальным окружениям.
http://docs.python -guide.org/ en / latest / dev / virtualenvs /
Если вы просто хотите использовать другие переменные режима home или env, вы можете просто установить их перед запуском кода python.
PROD_MODE=PROD python example.py
example.py будет искать переменную PROD_MODE следующим образом.
import os
print os.environ['PROD_MODE']
Так вам нужен virtualenv?
Я бы настоятельно рекомендовал это сделать.Итак, у вас работает Django, и вы импортировали некоторые другие библиотеки (я также настоятельно рекомендую pip), и все работает на вашем компьютере.Ваш путь настроен, и ваш код может быть преобразован в код с помощью PATH и PYTHON_PATH.Brilliant!
Теперь вы приступаете к развертыванию на другой машине (возможно, aws, сервере Linux или аналогичной) или другой разработчик хочет помочь написать код для вашего проекта.Как они удостоверяются, что env на этом компьютере настроен точно так же, как ваш, и как вы обеспечиваете развертывание с тем же env, с которым вы тестировали весь свой новый код?Virtualenv делает это для вас!Вы просто портируете или воссоздаете виртуальную среду на новой машине, когда все работает так же, как проверено / встроено.
Короче говоря, виртуальная среда помогает вам избежать головной боли при запоминании всех ваших операций импорта, установки инастройки пути при выпуске / развертывании кода.