Python pip install fails: invalid command egg_info
I find that recently often when I try to install a Python package using pip, I get the error(s) below.
I found a reference online that one has to use "python2 setup.py install" from the download directory, and indeed find that this will then work if I manually find and download the package (from pypi).
But, I don't know where pip is downloading packages to, and/or why it is failing in this manner.
I tried to do a pip upgrade, but it also failed in a similar manner, with a bunch of "Unknown distribution option" errors (entry_points, zip_safe, test_suite, tests_require)!
- pip 1.0.1
- ActivePython 2.7
Trying to use ActiveState's pypm fails, because they have a smaller library base, and it doesn't include these packages.
C:\test>pip install requests-oauth
Downloading/unpacking requests-oauth
Downloading requests-oauth-0.4.1.tar.gz
Running setup.py egg_info for package requests-oauth
E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'egg_info'
Complete output from command python setup.py egg_info:
E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'egg_info'
Solution 1:
Install distribute, which comes with egg_info
.
Should be as simple as pip install Distribute
.
Distribute has been merged into Setuptools as of version 0.7. If you are using a version <=0.6, upgrade using pip install --upgrade setuptools
or easy_install -U setuptools
.
Solution 2:
As distribute has been merged back into setuptools, it is now recommended to install/upgrade setuptools instead:
[sudo] pip install --upgrade setuptools
Solution 3:
Bear in mind you may have to do pip install --upgrade Distribute
if you have it installed already and your pip
may be called pip2
for Python2 on some systems (it is on mine).
Solution 4:
I had this issue, as well as some other issues with Brewed Python on OS X v10.9 (Mavericks).
sudo pip install --upgrade setuptools
didn't work for me, and I think my setuptools/distribute setup was botched.
I finally got it to work by running
sudo easy_install -U setuptools
Solution 5:
None of the above worked for me on Ubuntu 12.04 LTS (Precise Pangolin), and here's how I fixed it in the end:
Download ez_setup.py from download setuptools (see "Installation Instructions" section) then:
$ sudo python ez_setup.py
I hope it saves someone some time.