Between 11.1.4 and 11.1.5 pip installs for pipenv stopped working in my centos 7 containers
# python --version
Python 2.7.5
# pip --version
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
# pip install pipenv==11.1.5
Collecting pipenv==11.1.5
Downloading pipenv-11.1.5.tar.gz (4.1MB)
100% |################################| 4.1MB 393kB/s
Complete output from command python setup.py egg_info:
error in pipenv setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers
Version 11.1.4 installs successfully.
Repro:
$ docker run -ti --rm centos:7 bash
# yum -y install epel-release
# yum -y install python2-pip
# pip install pipenv==11.1.5
this was fixed in 11.1.6 and 11.1.7
Same repro as above, but with 11.1.7
still shows the same error.
[root@1377f11036a8 /]# pip install pipenv==11.1.7
Collecting pipenv==11.1.7
Downloading pipenv-11.1.7.tar.gz (4.1MB)
100% |################################| 4.1MB 364kB/s
Complete output from command python setup.py egg_info:
error in pipenv setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-rB6lrh/pipenv/
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Also true of 11.1.8
try upgrading your setuptools
you should absolutely upgrade your pip!
"You are using pip version 8.1.2, however version 9.0.1 is available."
Just using the default installed on the os.
Yes, pip install --upgrade setuptools
does fix this. Merely upgrading pip, however, does not.
thanks for the report! we'll keep out eyes peeled for this, and see if there's anything we can do about it
curious, what version of setuptools did you have installed?
[root@63fac294a6d6 /]# pip install --upgrade setuptools
Collecting setuptools
Downloading setuptools-38.5.2-py2.py3-none-any.whl (490kB)
100% |################################| 491kB 2.6MB/s
Installing collected packages: setuptools
Found existing installation: setuptools 0.9.8
Uninstalling setuptools-0.9.8:
Successfully uninstalled setuptools-0.9.8
Successfully installed setuptools-38.5.2
I mean, that's what comes with Centos 7 -- the docker
command in the repro steps is pulling the official centos7 image.
This bug will, at least, serve as way for others to say, "Oh, I see, let me upgrade that thing" :)
I don't know enough pythonese to know if this is surmountable to be _that far_ backwards compat, but if it is you'll save others from hitting this too.
I'll have to do some research to say what's causing this for certian. I suspect it's our use of environment markers.
Closing, as this is in our awareness now, and we know the fix.
Most helpful comment
Just using the default installed on the os.
Yes,
pip install --upgrade setuptools
does fix this. Merely upgrading pip, however, does not.