"InvalidRequiment:无效要求,更新Python包后出现解析错误&q;

2022-05-27 00:00:00 python pip setuptools

问题描述

使用pip install -U ipython更新包(在我的例子中为IPython)后,运行任何使用入口点的Python脚本失败,并显示以下错误:

Traceback (most recent call last):
  File "/home/adrian/dev/indico/env/bin/indico", line 5, in <module>
    from pkg_resources import load_entry_point
  ...
  File "/home/adrian/dev/indico/env/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 94, in __init__
    requirement_string[e.loc:e.loc + 8], requirement_string))
pkg_resources._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "'< 2.0'"

没有其他更改,我没有更新任何其他库。


解决方案

这是由setuptools==20.2.1中的问题引起的(setuptools>..),因此pip install -U已更新。

在发布修复版本或从PYPI中取出损坏的版本之前,有一个简单的解决方法(但请注意,如果更新了setupTools,它将再次中断):

  • pip install -U pip
  • pip uninstall setuptools
  • pip install 'setuptools<20.2'

需要pip更新,因为如果不安装setuptoolspip的旧版本将无法运行


有关详细信息,请参阅这些IRC日志和BitBucket问题:

  • http://chat-logs.dcpython.org/day/pypa/2016-02-25
  • https://bitbucket.org/pypa/setuptools/issues/502/packaging-164-does-not-allow-whitepace

相关文章