multiple parallel environments
See original GitHub issueHi,
thanks for this wonderful tool!! It’s well crafted and extremely useful, but I feel that there is exactly one feature missing to make it just perfect for a workflow I frequently encounter while developing python packages:
One often needs to switch python versions in order to test behaviour on different python versions. Technically, pipenv --python=XXX
can be used to switch between different python versions. However, this replaces the current environment and is therefore inconveniently slow in practice.
I would really like to be able to install multiple environments in parallel for the same project and select which one to use on the pipenv
command line. This can speed up the time required to switch python versions for the same project significantly and therefore we would have a powerful (IMO alround better) replacement for virtualenvwrapper and the like.
This could work by e.g. providing an environment name on the command line:
# setup environments
pipenv --name 35 --python 3.5 install
pipenv --name 36 --python 3.6 install
# run commands
pipenv --name 35 run python
One issue could be that of different lockfiles in different python versions…
If you would be fine with such an option and think that it is possible to implement for s.o. unacquainted with the code, I’m of course willing to help on the implementation.
This issue is related to #368 and #137 who I think were trying to ask the same question, but I’m unsure whether you rejected the idea altogether or were happy with an intermediate solution at the time.
Best, Thomas
Issue Analytics
- State:
- Created 6 years ago
- Reactions:27
- Comments:20 (8 by maintainers)
Top GitHub Comments
Thanks for the suggestion but deterministic virtualenv locations is an inherent part of what pipenv is, so I don’t see us implementing this. I’m gonna close this out for now!
To be super clear, you can still get your own custom environments set up just by sourcing virtualenvs.
a tiny bit of additional visual clutter to the commands but is pretty straightforward