You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What's the problem this feature will solve?
Since the internal reorg introduced in pip 10, users (particularly on Linux) have been having problems because PATH issues mean that they end up using a pip wrapper that doesn't match the version of pip that the Python interpreter that ends up running pip uses.
There are a number of pip issues around bad interactions between pip and system command line wrappers - see #5495 as an example.
Describe the solution you'd like
Pip should stop shipping command line wrappers, and should document python -m pip as the officially supported means of running pip.
The pip command should be left to OS distribution vendors to supply and manage, if they feel that users still want a pip command. Individual users can write their own scripts and/or aliases if they want to.
We already recommend subprocess.run([sys.executable, '-m', 'pip', ...]) as the way to call pip from your program. This is just the command line equivalent of that.
Alternative Solutions
We can continue to advise users on how to fix mismatches, and ask them to raise issues with their OS/distribution vendors where possible.
Additional context
In all honesty, I suspect that we won't be able to do this. It's a big change to user experience, and it's not backward compatible. But even if we don't do this, I think it would be good to have the discussion, and to record it in a single place for future reference.
The text was updated successfully, but these errors were encountered:
Oh wow, yes I'd forgotten that. Want me to close this as a dupe?
I'm not actually sure what the next steps would be on #3164. There seems to be a chicken and egg situation between someone (pypa?) writing a pip-cli package and us no longer shipping the wrappers. Also you were arguing that we need to retain pip install in a virtualenv, and I'm not sure how that would work (ship pip-cli bundled with virtualenv?)
@pfmoore Yea, I think that makes sense, maybe reference or quote your post here as additional information. WRT next steps... I'm not actually sure either! Certainly if we decide we need to keep it inside of a virtualenv, I'd probably just say we need to start shipping pip-cli bundled with virtualenv but I haven't sat down and really figured out the best way to migrate to that sort of layout.
What's the problem this feature will solve?
Since the internal reorg introduced in pip 10, users (particularly on Linux) have been having problems because
PATH
issues mean that they end up using a pip wrapper that doesn't match the version of pip that the Python interpreter that ends up running pip uses.There are a number of pip issues around bad interactions between pip and system command line wrappers - see #5495 as an example.
Describe the solution you'd like
Pip should stop shipping command line wrappers, and should document
python -m pip
as the officially supported means of running pip.The
pip
command should be left to OS distribution vendors to supply and manage, if they feel that users still want apip
command. Individual users can write their own scripts and/or aliases if they want to.We already recommend
subprocess.run([sys.executable, '-m', 'pip', ...])
as the way to call pip from your program. This is just the command line equivalent of that.Alternative Solutions
We can continue to advise users on how to fix mismatches, and ask them to raise issues with their OS/distribution vendors where possible.
Additional context
In all honesty, I suspect that we won't be able to do this. It's a big change to user experience, and it's not backward compatible. But even if we don't do this, I think it would be good to have the discussion, and to record it in a single place for future reference.
The text was updated successfully, but these errors were encountered: