[Python-Dev] Deprecate PEP 370 Per user site-packages directory?

Oleg Broytman phd at phdru.name
Sat Jan 13 14:57:48 EST 2018


On Sat, Jan 13, 2018 at 07:18:41PM +0100, Christian Heimes <christian at python.org> wrote:
> On 2018-01-13 19:04, Random832 wrote:
> > On Sat, Jan 13, 2018, at 12:06, Christian Heimes wrote:
> >> Hi,
> >>
> >> PEP 370 [1] was my first PEP that got accepted. I created it exactly one
> >> decade and two days ago for Python 2.6 and 3.0. Back then we didn't have
> >> virtual environment support in Python. Ian Bicking had just started to
> >> create the virtualenv project a couple of months earlier.
> >>
> >> Fast forward 10 years...
> >>
> >> Nowadays Python has venv in the standard library. The user-specific
> >> site-packages directory is no longer that useful. I would even say it's
> >> causing more trouble than it's worth. For example it's common for system
> >> script to use "#!/usr/bin/python3" shebang without -s or -I option.
> >>
> >> I propose to deprecate the feature and remove it in Python 4.0.
> > 
> > Where would pip install --user put packages, and how would one run scripts that require those packages? Right now these things Just Work; I've never had to learn how to use virtual environments.
> 
> I see two option:
> 
> 1) "pip install --user" is no longer supported. You have to learn how to
> use virtual envs. It's really easy: "python3 -m venv path; path/bin/pip
> install package".

   I've learned virtual envs and use them every day. I also use
``pip install --user``. Different use cases. Virtual envs are for
development, ``pip install --user`` for deployment.

> Christian

Oleg.
-- 
     Oleg Broytman            http://phdru.name/            phd at phdru.name
           Programmers don't die, they just GOSUB without RETURN.


More information about the Python-Dev mailing list