I’ve updated the PEP to cover some of the things discussed here:
- Add PyCharm and library-skills as supporters
- Have redirect files read up to the first newline (@encukou )
- Clarify there is no opinion to having multiple virtual environments (@mikeshardmind )
- Explicitly use the code editor example for the motivation (@barry )
- Have
venv.executable()be configurable for the virtual environment name - Clarify symlinks are not to be treated in any special way (@encukou )
- Move the Rationale after the Specification and simplify the latter by moving details to the former
- Loosened things involving “MAY”, “SHOULD”, and “NOT” so tools are not required to do anything beyond how they interpret a redirect file (@pf_moore , @steve.dower )
- Removed the previous open issues and replaced them with one about listing all virtual environments in the file (I thought someone made this suggestion, but now I can’t find a post about it)
- Clarify no direct stance is taken on what a “project” is (@pf_moore , @aragilar )
There’s now one open issue around whether to have stuff passed the first newline mean anything. For the multiple environment situation I could see the .venv file listing all of them while having the first entry be the default one to use. You could even squint and view everything passed the first line as a TSV of virtual environment path and some label you may want some tool like your code editor to show people to help in choosing (e.g. virtualenvwrapper could append to the file any time the virtual environment swapped in order to list all virtual environments that were used and use the name for the virtual environment). You could also get fancy and make it JSON or JSONL instead of a TSV if it was warranted.
But this is only worth talking about if the people who were objecting to this PEP over the lack of multiple virtual environment support would actually change their objections with some change like this. If it won’t then it’s just added complexity that’s not worth talking about and can be left as a postponed idea.