Ошибка" InvalidRequirement: недопустимое требование, ошибка разбора " после обновления пакета python

после обновления пакета (IPython в моем случае) с помощью pip install -U 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'"

больше ничего не изменилось, я не обновлял другие библиотеки.

2 ответов


это вызвано проблемой в setuptools==20.2.1 который втягивается IPython (setuptools>..), поэтому pip install -U обновили его.

пока не будет выпущена фиксированная версия или сломанная версия не будет вытащена из PyPI, есть простой обходной путь (но обратите внимание, что он снова сломается, если что-то обновит setuptools):

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

на pip обновление с более старых версий pip будет не работать без setuptools установки


см. эти журналы IRC и выпуск BitBucket для деталей:


попробуйте понизить свой pip до 8.1.1:

pip install pip==8.1.1

это решило его для меня.