pip Anforderungsspezifizierer: Rolle des Kommas

8

Ich versuche eine bestimmte Version von django-cms zu installieren und führe so pip install django-cms==3.0.5 aus. Das gibt mir den Fehler No matching distribution found for django-mptt==0.5.2,==0.6,==0.6.1 (from django-cms==3.0.5) . Und in der Tat spezifiziert die Datei setup.py auf github die Anforderung django-mptt==0.5.2,==0.6,==0.6.1 .

Die Spezifikation besagt, dass das Komma ein logischer "und" Operator ist aber natürlich kann keine Version 0.5.2, 0.6 UND 0.6.1 gleichzeitig sein und somit ist die Anforderung nicht erfüllt. Die Installation einer dieser Versionen über pip install django-mptt==0.5.2 funktioniert ohne Probleme, aber es gibt immer noch denselben Fehler bei django-cms == 3.0.5.

Kann irgendjemand etwas dazu sagen?

    
Michel H. 17.01.2016, 16:52
quelle

1 Antwort

5

Dies war ein Fehler in django-cms Version 3.0.5. Sie können das Problem hier sehen: Ссылка .

Sie können versuchen, Version 3.0.16 zu installieren, wenn Sie auf der Version 3.0 bleiben müssen. Wenn Sie WIRKLICH Version 3.0.5 benötigen, können Sie pip==1.5.6 installieren, und django-cms sollte weiterhin korrekt installiert werden.

Bearbeiten Ab Version pip 6.0 funktionieren mehrere == versions-Spezifizierer für ein einzelnes Paket nicht mehr. Einer der Entwickler kommentierte Github:

  

Dies ist das neue erwartete Verhalten von PEP 440.

     

Das alte Verhalten von setuptools war verwirrend und hat das meiste nicht gemacht   Leute erwarteten es zu tun. PEP 440 vereinfacht es durch Ändern der, zu a   logische UND-Anweisung.

Siehe Ссылка .

    
Derek Kwok 17.01.2016, 17:03
quelle