更新python包后出现“Invalid requirement:Invalid requirement,parse error”错误

2024-05-13 21:19:11 发布

您现在位置:Python中文网/ 问答频道 /正文

使用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'"

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


Tags: indevenvhomestringlinepkgrequirement
2条回答

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

在发布固定版本或从PyPI中提取损坏的版本之前,有一个简单的解决方法(但请注意,如果有更新setuptools的内容,它将再次中断):

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

需要pip更新,因为如果不安装setuptools,较旧版本的pip将无法工作


有关详细信息,请参阅以下IRC日志和位桶问题:

尝试将pip降级为8.1.1

pip install pip==8.1.1

这帮我解决了问题。

相关问题 更多 >