A Poetry plugin that automatically loads environment variables from .env
files into the environment before poetry commands are run.
Supports Python 3.7
$ cat .env
MY_ENV_VAR='Hello World'
$ poetry run python -c 'import os; print(os.environ.get("MY_ENV_VAR"))'
Hello World
This plugin depends on the python-dotenv
package for its functionality and therefore also supports features that python-dotenv
supports. Interpolating variables using POSIX variable expansion for example.
Initial implementation based on the event handler application plugin example in the Poetry docs.
poetry self add poetry-dotenv-plugin
If you are transitioning from pipenv
there shouldn't be much to change with regard to the .env
loading. If you were a user of pipenv
's environment variables to control .env
loading then you can use the analogous environment variables listed below.
Pipenv env var | Poetry env var |
---|---|
PIPENV_DOTENV_LOCATION | POETRY_DOTENV_LOCATION |
PIPENV_DONT_LOAD_ENV | POETRY_DONT_LOAD_ENV |