Psutil: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.

Created on 13 Apr 2018  ·  13Comments  ·  Source: giampaolo/psutil

Newest release (5.4.4) has installation broken somehow. This is what we get on CentOS 7: http://paste.openstack.org/show/719136/

Most helpful comment

fixed by running $ pip install --user --upgrade setuptools

All 13 comments

Same error.
Fix It: pip3.4 install --upgrade setuptools.

http://paste.openstack.org/show/719139/

Another one chiming in with the same issue. Except I can't tell several thousand of users out there to update setuptools on their individual installs to fix a setup problem with a third party dependency :/

Observed this morning whilst installing diamond w/ psutil 5.4.4. Installed with 5.4.3 without issue. Able to install 5.4.4 by changing extras_require in setup.py to install_requires, and updating the enclosing type to a list

New release is out.

fixed by running $ pip install --user --upgrade setuptools

@giampaolo Today's releases seem to have caused this to show up again on EL7 boxes :cry:

[root@6fa896ce6445 /]# pip install psutil
Collecting psutil
  Using cached https://files.pythonhosted.org/packages/aa/3e/d18f2c04cf2b528e18515999b0c8e698c136db78f62df34eee89cee205f1/psutil-5.7.2.tar.gz
    Complete output from command python setup.py egg_info:
    /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
      warnings.warn(msg)
    error in psutil setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ajpB12/psutil/
You are using pip version 8.1.2, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

You are using pip version 8.1.2, however version 20.1.1 is available.

Boy, that is jurassic ancient! Can't you upgrade pip? =)

@giampaolo
Yeah, it is, but that's what's currently supported in EPEL. We actually found this because we use psutil in some Ansible integration tests and it broke on some distros in our CI with older pip. If the breakage was intentional, we can deal, but based on the changelog I wasn't sure that it was. :)

Thanks for the reply!

Well, we need to test against the distro-supported versions. We _can_ pin psutil to the version before today's releases in those tests. So it's not a huge deal. This was mainly an FYI to let you know it broke older versions, in case that wasn't intentional. If it is, feel free to ignore and we'll live. :)

It is also breaking our deployment script which installs psutil on a fresh CentOS 7.
If it can be fixed in the latest release, it will be great, or else our old deployment script will fail.
Thanks.

Maybe you can specific the version of psutil to avoid installing the latest version.

pip install psutil==5.7.0

@snowmansora

I am still having this problem... even using psutil 5.7.0 ....

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yegorich picture yegorich  ·  11Comments

benstroud picture benstroud  ·  8Comments

tbrownaw picture tbrownaw  ·  5Comments

osstony picture osstony  ·  10Comments

AdnanHodzic picture AdnanHodzic  ·  4Comments