fix ale_python_auto_virtualenv to correctly set virtualenv env vars #4885
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.
First, thank you for ALE!
According to the documentation,
ale_python_auto_virtualenv
should automatically set environment variables for commands, but previously the variables were not set completely or correctly.Before:
PATH
variable was expanded to include/path/to/venv
After:
PATH
variable is expanded to include/path/to/venv/bin
VIRTUAL_ENV
variable is set topath/to/venv
This mimics exactly what the
activate
scripts do, and allows the configuration knob to work as expected.For example, after this change,
jedi-language-server
can be installed globally (instead of inside every venv), and it will "just work" (e.g. find references to dependencies in the venv) when editing a file in a project that uses a venv, because the correct variables are set.