Add option not to override existing env variables #16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The reason the default behavior of this plugin is to override existing environment variables is because it has origins during the time when there were a lot of users migrating away from Pipenv, many switching to Poetry. Pipenv had built-in
.env
loading which did override by default (and still does). In order to support the many people coming frompipenv
the goal was to make the fewest changes from that toolset possible in regards to.env
loading. That is also why there are other some analogous environment variables between this project andpipenv
with a section about them in the README.If you're coming from vanilla
python-dotenv
then this is unexpected. That needs to be reconciled with the expectations of anyone coming frompipenv
. Here we add a system environment variable—POETRY_DOTENV_DONT_OVERRIDE
. I think it should solve most cases. This is because most users who want it to behave likepython-dotenv
's defaults probably want that everywhere and the same for anyone who wants it to behave likepipenv
.This resolves #14