[Distutils] The future of invoking pip

Donald Stufft donald at stufft.io
Sun Nov 8 09:20:42 EST 2015


On November 8, 2015 at 9:13:48 AM, Antoine Pitrou (solipsis at pitrou.net) wrote:
> On Sat, 7 Nov 2015 19:37:03 -0500
> Donald Stufft wrote:
> > In fact, the pyvenv script has been deprecated and is going to be
> > removed in Python 3.8 in favor of `python -m venv` for similar
> > reasons that I've described here.
>  
> That's not an argument, since the decision was taken by exactly the
> same people. Just because you do something twice doesn't mean it was a
> good thing to do, especially when no sizable data was brought in
> support.
>  
> The fact that you decided to deprecate "pyvenv" while its ancestor - the
> "virtualenv" script itself - was not deprecated despite existing for a
> much longer time hints that the issue may be blown out of proportion.
>  
> In the end, I like "python -m " for many user interfaces;
> but for managing package installations I think it's really much too
> wordy.
>  

Uhhhh I had nothing to do with deprecating the pyvenv script. Brett Cannon suggested it.

The virtualenv script wasn’t deprecated (and I haven’t suggested doing it) because the virtualenv script already functions similarly to how I suggested in my last option. You aren’t expected to install virtualenv into every Python and then invoke the correct one based on which version of Python you want to interact with (as pyvenv and pip require you to do). Instead you tell it which version of Python you want to interact with using the ``-p`` flag (which accepts things like ``python2`` or full paths). So there is no ambiguity about which version of Python you’re going to be interacting with. The only thing that matters at all for which version of Python virtualenv is installed into is that it controls the *default*, but that’s just the default and on some systems (like Debian) virtualenv is installed into Python 3.x and the default was switched to 2.x still.

-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA




More information about the Distutils-SIG mailing list