Umgebungsvariablen

pipenv-Umgebungsvariablen

pipenv --envs gibt Optionen der Environment-Variablen aus.

Weitere Informationen hierzu findet ihr unter Configuration With Environment Variables.

.env-Datei

Wenn eine .env-Datei in eurer virtuellen Umgebung vorhanden ist, werden $ pipenv shell und $ pipenv run diese automatisch laden:

$ cat .env
USERNAME=veit

$ pipenv run python
Loading .env environment variables...

>>> import os
>>> os.environ["USERNAME"]
'veit'

Auch die Credentials, z.B. der Versionsverwaltung lassen sich in der Pipfile-Datei angeben, z.B.:

[[source]]
url = "https://$USERNAME:${PASSWORD}@ce.cusy.io/api/v4/projects/$PROJECT_ID/packages/pypi/simple"
verify_ssl = true
name = "gitlab"

Bemerkung

pipenv hasht die Pipfile-Datei, bevor die Umgebungsvariablen ermittelt werden, und auch die Umgebungsvariablen aus der Pipfile.lock-Datei werden ersetzt, sodass keine Credentials in der Versionsverwaltung gespeichert werden müssen.

Ihr könnt die .env-Datei auch außerhalb eures Virtual Environments speichern. Ihr müsst dann nur den Pfad zu dieser Datei angeben in PIPENV_DOTENV_LOCATION:

$ PIPENV_DOTENV_LOCATION=/path/to/.env pipenv shell

Ihr könnt auch verhindern, dass pipenv eine vorhandene .env-Datei verwenet mit:

$ PIPENV_DONT_LOAD_ENV=1 pipenv shell