I am trying to use pip to install some software from github. And I get the following egg_info
error:
command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-idsmnc0n/progressbar/
I have googled around and it seems this issue is very common, with many github issue pages containing people discussing this error. I have tried many of the proposed fixes:
- Installing
python3-setuptools
andpython3-dev
- Using
sudo -H
when installing - Upgrading pip3
sudo pip install --upgrade setuptools
And none of these solutions worked. I also tried all of the proposed solutions of benjaminh's question and got the following result:
$ pip install --upgrade setuptools
Requirement already up-to-date: setuptools in /usr/local/lib/python3.5/dist-packages
$ sudo -H pip3 install ez_setup
Collecting ez_setup
Downloading ez_setup-0.9.tar.gz
Building wheels for collected packages: ez-setup
Running setup.py bdist_wheel for ez-setup ... done
Stored in directory: /root/.cache/pip/wheels/53/d6/8b/a2270e66cf5f68c038fffcc8b871de0c4326550fb187906bab
Successfully built ez-setup
Installing collected packages: ez-setup
Successfully installed ez-setup-0.9
$ sudo easy_install -U setuptools
Searching for setuptools
Reading https://pypi.python.org/simple/setuptools/
Downloading
Best match: setuptools 38.5.1
Processing setuptools-38.5.1-py2.py3-none-any.whl
Installing setuptools-38.5.1-py2.py3-none-any.whl to /usr/local/lib/python3.5/dist-packages
writing requirements to /usr/local/lib/python3.5/dist-packages/setuptools-38.5.1-py3.5.egg/EGG-INFO/requires.txt
Adding setuptools 38.5.1 to easy-install.pth file
Installing easy_install-3.6 script to /usr/local/bin
Installing easy_install script to /usr/local/bin
And I got the same error message:
$ pip install -r requirements.txt
Collecting colour==0.1.2 (from -r requirements.txt (line 1))
Using cached colour-0.1.2.tar.gz
Requirement already satisfied: numpy==1.11.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 2))
Collecting Pillow==3.4.2 (from -r requirements.txt (line 3))
Using cached Pillow-3.4.2-cp35-cp35m-manylinux1_x86_64.whl
Collecting progressbar==2.3 (from -r requirements.txt (line 4))
Using cached progressbar-2.3.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-sdi0wzva/progressbar/setup.py", line 5, in <module>
import progressbar
File "/tmp/pip-build-sdi0wzva/progressbar/progressbar/__init__.py", line 59, in <module>
from progressbar.widgets import *
File "/tmp/pip-build-sdi0wzva/progressbar/progressbar/widgets.py", line 121, in <module>
class FileTransferSpeed(Widget):
File "/usr/lib/python3.5/abc.py", line 133, in __new__
cls = super().__new__(mcls, name, bases, namespace)
ValueError: 'format' in __slots__ conflicts with class variable
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-sdi0wzva/progressbar/
Not only would it be good to find a fix for this, I would like to try to understand what is going on here. Does anyone have any information on what 'egg' actually does within pip, and what egg_info means. I could not find much info/tutorial information about this.