Pipenv: Install fails on "invalid" install_requires definition

Created on 9 Mar 2018  路  11Comments  路  Source: pypa/pipenv

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

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.

All 11 comments

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.

Was this page helpful?
0 / 5 - 0 ratings