Pipenv: несколько сред - PullRequest
       10

Pipenv: несколько сред

0 голосов
/ 27 февраля 2019

Сейчас я использую virtualenv и просто переключаюсь на Pipenv.Сегодня в virtualenv я загружаю различные переменные и параметры среды в зависимости от того, нахожусь ли я в development, production или testing, устанавливая DJANGO_SETTINGS_MODULE в myproject.settings.development, myproject.settings.production и myproject.settings.testing.

Я знаю, что могу установить файл .env, но как мне иметь несколько версий этого файла .env?

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Я далеко не гуру Python, но одно решение, которое я могу придумать, - это создать сценарии Pipenv , которые запускают сценарии оболочки для изменения PIPENV_DOTENV_LOCATION и запускаюткоманды запуска.

Пример сценариев Pipfile:

[scripts]
development = "./scripts/development.sh"

development.sh Пример:

#!/bin/sh
PIPENV_DOTENV_LOCATION=/path/to/.development_env pipenv run python test.py

Затем выполните pipenv run development

0 голосов
/ 27 февраля 2019

Вы должны создавать разные .env файлы с разными префиксами в зависимости от среды, например production.env или testing.envpipenv вы можете использовать переменную окружения PIPENV_DONT_LOAD_ENV=1, чтобы предотвратить автоматический экспорт pipenv shell файла .env, и объединить это с export $(cat .env | xargs).

export $(cat production.env | xargs) && PIPENV_DONT_LOAD_ENV=1 pipenv shell настроит ваши переменные среды дляпроизводство, а затем запустить оболочку в виртуальной среде.

...