[Python-Dev] Proposing the deprecation of the pyvenv script

Sven R. Kunze srkunze at mail.de
Sat Sep 19 19:15:20 CEST 2015


On 19.09.2015 14:44, Paul Moore wrote:
> On 19 September 2015 at 10:12, Sven R. Kunze <srkunze at mail.de> wrote:
>> The only question I have: is there a particular reason (not technical one)
>> why there are many pips on my PC?
> That's not an unreasonable question, but (IMO) most of the answers are
> technical, or amount to "why would you think that's wrong". So
> apologies, I do know this isn't a direct answer to your question.
>
> 1. There are a lot of ways in which pip's implementation assumes it's
> installing modules for the Python installation that is running it.

We need to cope with that in some way.

> 2. We have no installation process or path management to allow you to
> install a Python package *outside* of a Python installation and run it
> with the user's choice of Python.

I wouldn't go so far so put the installation somewhere else. The current 
site-packages is good enough (although, it's a somewhat strange name).

But what I would love to see is a real package management, where 
installing packages is safe (asking when overriding existing files), 
where I can have proper upgrading/downgrading, query dependencies, query 
installed files/scripts/data, query redundant packages and so on and so 
forth. Just like zypper, apt-get or its kind. We get there but I fear it 
will be a long time before Python gets the package management it deserves.

pip = Python installs Python. That's how it started; however, real 
package management is far more.

> 3. You've got lots of pythons on your PC (otherwise you wouldn't have
> lots of pips!) so why do you think it's *not* equally reasonable to
> have lots of pips?

pip happens to use Python but both serve different purposes. Why it's 
not reasonable? Good question, the best answer I can come up with is 
that "just invoking pip" does not tell you what Python it is going to 
un-/install packages for. You see it (when it's installing), but would 
be step forward to be asked kindly if I am okay with the installation 
location (and user+group permissions) and if not I could change it. 
Something like this. I think it's the usability I am really concerned with.

> 4. The "py" launcher (on Windows) manages your multiple Pythons for
> you - it can also manage pip if you don't mind using "py -m pip" to
> invoke pip. You can of course alias this (wrap it in a powershell
> function, bat file, shell script or whatever) as you choose.

Interesting. So, py knows the location of all Python installations. What 
about py knows about all venvs? Then it could manage them in one place.

> So, to directly answer:
>
>      Because there are technical challenges that no-one has stepped up to solve.

Let's solve them. :)

Best,
Sven


More information about the Python-Dev mailing list