Bug 958377

Summary: Fedora's python-pip package does not provide /usr/bin/pip
Product: [Fedora] Fedora Reporter: Nick Coghlan <ncoghlan>
Component: python-pipAssignee: Tim Flink <tflink>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: a.badger, asaha, metherid, mmaslano, pbrady, tflink
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-pip-1.3.1-4.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-19 00:36:28 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Nick Coghlan 2013-05-01 04:58:17 EDT
Description of problem:

Due to a past naming conflict, the python-pip package only provides a "pip-python" command, rather than the upstream "pip" command.

This leads many Python users to believe that Fedora's pip package is broken, as standard upstream instructions fail with an unhelpful error message.

How reproducible:
Always

Steps to Reproduce:
1. Install python-pip
2. Run "pip install --user requests" (for example)
  
Actual results:

  $ pip install --user requests
  bash: pip: command not found

Expected results:
  $pip install --user requests
  Requirement already satisfied (use --upgrade to upgrade): requests in /usr/lib/python2.7/site-packages
  Cleaning up...

Additional info:

Whereas the previously conflicting Perl package was originally only added as a dependency of padre (which has since removed the dependency), Python's pip is the installation tool recommended by the CPython core development team. An official packaging user guide is being developed (see https://bitbucket.org/pypa/python-packaging-user-guide) which will explicitly recommend the use of pip.

In Python 3.4, it is likely that the standard library will provide the pip binary itself, with the implementation machinery bootstrapped into the user's home directory if it isn't pre-installed as part of the operating system packages (see PEP 439: http://www.python.org/dev/peps/pep-0439/).

I believe the central place pip occupies amongst the Python community (in contrast to the niche role of the Perl tool) is sufficient reason to reconsider the previous decision, and change the python-pip package to start installing /usr/bin/pip. At present, this issue means that Fedora offers an inferior "out of the box" experience for Python developers compared to Debian (who dropped the Perl package in favour of the Python one when the conflict was first noted).
Comment 1 Nick Coghlan 2013-05-01 05:19:50 EDT
Those expected results obviously apply only if you already have python-requests installed. Otherwise you would expect to see a download from PyPI and installation into the user packages directory.
Comment 2 Pádraig Brady 2013-05-01 13:54:30 EDT
+1 to renaming back to /usr/bin/pip in python-pip

For reference bug #616626 tracked the rename
from /usr/bin/pip -> /usr/bin/{perl,python}-pip

$ repoquery -q --repoid=rawhide --file /usr/bin/perl-pip
perl-pip-0:1.19-7.fc19.noarch
Comment 3 Rahul Sundaram 2013-05-01 14:13:11 EDT
fwiw, as a co-maintainer I am favor of reverting the rename,
Comment 4 Tim Flink 2013-05-01 14:26:34 EDT
For reference, the now closed bugs which represented the change from pip to python-pip and perl-pip:

(python-pip) https://bugzilla.redhat.com/show_bug.cgi?id=616399
(perl-pip) https://bugzilla.redhat.com/show_bug.cgi?id=616626

Also relevant are the Fedora packaging guidelines on binary name conflicts:

https://fedoraproject.org/wiki/Packaging:Conflicts#Binary_Name_Conflicts

I'm certainly not against the change, but I don't want to just change it. This is something that needs to be reviewed by the FPC before any changes happen.

I'll file a ticket with them and we'll see what happens.
Comment 5 Tim Flink 2013-05-01 14:53:46 EDT
Ticket filed with the FPC requesting permission to revert the previous name change:

https://fedorahosted.org/fpc/ticket/280
Comment 6 Toshio Ernie Kuratomi 2013-05-01 15:09:23 EDT
With my python hat on, I'd love to see this happen.  With my FPC hat on -- what does the perl-pip package maintainer think of this?  If they're fine with it, then there's no issue, I believe that FPC doesn't even need to be involved.  If they're not fine with it then FPC might need to step in to be an arbitrator.
Comment 7 Tim Flink 2013-05-01 15:17:25 EDT
Marcela - as the maintainer of perl-pip, do you have any objections to this proposal to rename python-pip's binary to /usr/bin/pip?
Comment 8 Nick Coghlan 2013-05-01 23:49:46 EDT
Just for the record, we *did* consider changing the name upstream to eliminate the conflict entirely.

However, we're still struggling to get Python open source developers to convert their documentation from recommending easy_install to recommending pip, so adding yet another name change on top of a still incomplete migration didn't seem wise.
Comment 9 Marcela Mašláňová 2013-05-02 05:09:03 EDT
(In reply to comment #7)
> Marcela - as the maintainer of perl-pip, do you have any objections to this
> proposal to rename python-pip's binary to /usr/bin/pip?

Do you think I should also rename the /usr/bin/perl-pip to /usr/bin/pip? I guess from Perl community there will be the same attitude, the Fedora pip is broken.
Comment 10 Pádraig Brady 2013-05-02 06:03:46 EDT
@Marcela, we couldn't have both at /usr/bin/pip for policy/conflict reasons.

I just checked arch, debian, suse and they all use /usr/bin/pip for python-pip.
We should try to avoid divergence here.

thanks,
Pádraig.
Comment 11 Marcela Mašláňová 2013-05-02 07:13:14 EDT
Ok, if it's at least same in major distributions, then fine with me.
Comment 12 Toshio Ernie Kuratomi 2013-05-02 11:21:23 EDT
Cool.  Since mmaslano is fine with it I'm going to close the FPC ticket.  There's nothing for the FPC to decide upon in this case as all the maintainers are okay with which package will have use of /usr/bin/pip.
Comment 13 Fedora Update System 2013-05-24 00:23:41 EDT
python-pip-1.3.1-3.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-pip-1.3.1-3.fc19
Comment 14 Fedora Update System 2013-05-24 00:25:21 EDT
python-pip-1.3.1-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-pip-1.3.1-3.fc18
Comment 15 Fedora Update System 2013-05-24 00:26:20 EDT
python-pip-1.3.1-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/python-pip-1.3.1-3.fc17
Comment 16 Fedora Update System 2013-05-24 00:27:33 EDT
python-pip-1.3.1-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-pip-1.3.1-3.el6
Comment 17 Fedora Update System 2013-05-24 15:08:31 EDT
Package python-pip-1.3.1-3.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing python-pip-1.3.1-3.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2013-5927/python-pip-1.3.1-3.el6
then log in and leave karma (feedback).
Comment 18 Nick Coghlan 2013-06-15 03:05:50 EDT
I checked this works as expected on Fedora 18:

$ sudo yum install --enablerepo=updates-testing python-pip
<snip yum output>
$ which pip
/usr/bin/pip
$ pip --version
pip 1.3.1 from /usr/lib/python2.7/site-packages (python 2.7)

Is there anything more to be done before it can be moved over to the main repos?
Comment 19 Tim Flink 2013-06-17 11:50:57 EDT
(In reply to Nick Coghlan from comment #18)
> Is there anything more to be done before it can be moved over to the main
> repos?

I had been waiting for more karma on the updates before pushing them stable (ATM, there is +1 on F19 and F18 updates) but I'm probably not going to wait much longer before pushing them stable.
Comment 20 Fedora Update System 2013-06-19 00:36:28 EDT
python-pip-1.3.1-3.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 21 Fedora Update System 2013-07-17 02:12:57 EDT
python-pip-1.3.1-4.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/python-pip-1.3.1-4.fc17
Comment 22 Fedora Update System 2013-07-17 02:14:38 EDT
python-pip-1.3.1-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-pip-1.3.1-4.fc18
Comment 23 Fedora Update System 2013-07-17 02:15:10 EDT
python-pip-1.3.1-4.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-pip-1.3.1-4.fc19
Comment 24 Fedora Update System 2013-07-17 02:39:24 EDT
python-pip-1.3.1-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-pip-1.3.1-4.el6
Comment 25 Fedora Update System 2013-07-25 20:26:39 EDT
python-pip-1.3.1-4.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 26 Fedora Update System 2013-07-25 20:30:25 EDT
python-pip-1.3.1-4.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 27 Fedora Update System 2013-07-25 20:32:15 EDT
python-pip-1.3.1-4.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 28 Fedora Update System 2013-08-03 15:12:39 EDT
python-pip-1.3.1-4.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.