使用 pip install -U ipython
更新包(在我的情况下为 IPython)后,运行任何使用入口 pip 的 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
中的问题引起的它由 IPython (setuptools>..
) 引入,所以是 pip install -U
更新了。
在发布固定版本或从 PyPI 中提取损坏的版本之前,有一个简单的解决方法(但请注意,如果更新设置工具,它将再次损坏):
-
pip install -U pip
-
pip uninstall setuptools
-
pip install 'setuptools<20.2'
pip
需要更新,因为 pip
的旧版本没有 setuptools
将无法工作正在安装中
有关详细信息,请参阅这些 IRC 日志和 BitBucket 问题:
关于python - "InvalidRequirement: Invalid requirement, parse error"更新python包后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35625488/