2016-02-25 11 views
13

Po aktualizacji pakietu (ipython w moim przypadku) używając pip install -U ipython uruchomiony dowolny skrypt Pythona, który używa punkty wejścia nie z tego błędu:„InvalidRequirement: Nieprawidłowy wymóg, parse error” błąd po aktualizacji pakietu 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'" 

Nic więcej się nie zmieniło, nie aktualizowałem żadnych innych bibliotek.

Odpowiedz

20

Jest to spowodowane przez problem z setuptools==20.2.1, który jest pobierany przez IPython (setuptools>..), więc pip install -U zaktualizował go.

Do stałym wersja jest zwolniony lub złamana wersja jest wyciągnięta z PyPI istnieje proste obejście (należy jednak pamiętać, że będzie przerwa ponownie Jeśli aktualizacje coś setuptools):

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

aktualizacja pip jest potrzebna, ponieważ starsze wersje pip nie będzie działać bez setuptools instalowany


Zobacz te dzienniki IRC i BitBucket problem dla szczegółów:

+0

Deinstalacja kończy się niepowodzeniem * Operacja niedozwolona: .. * błąd. –

11

Spróbuj obniżamy swój PIP do 8.1.1:

pip install pip==8.1.1 

To rozwiązało to dla mnie.