2016-01-17 39 views
8

我試圖安裝一個特定版本的django-cms,因此執行pip install django-cms==3.0.5。這給了我錯誤No matching distribution found for django-mptt==0.5.2,==0.6,==0.6.1 (from django-cms==3.0.5)。事實上,在github上,setup.py文件指定了要求django-mptt==0.5.2,==0.6,==0.6.1pip要求說明符:逗號作用

specification表示逗號用作邏輯「和」運算符,但顯然沒有版本可以同時爲0.5.2,0.6和0.6.1,因此要求不匹配。只需通過pip install django-mptt==0.5.2安裝其中一個版本即可正常工作,但仍存在與django-cms == 3.0.5相同的錯誤。

任何人都可以闡明這一點嗎?

回答

5

這是django-cms版本3.0.5中的一個錯誤。您可以在這裏看到問題:https://github.com/divio/django-cms/issues/3704

如果您需要繼續使用3.0版,您可以嘗試安裝3.0.16版。如果你真的需要3.0.5版本,你可以安裝pip==1.5.6,並且django-cms仍應該正確安裝。

編輯從pip版本6.0開始,一個包的多個==版本說明符不再有效。一位開發商評論Github上:

這是PEP 440

新的預期行爲的setuptools的舊的行爲是混亂,並沒有做什麼最 人們期望它做的。 PEP 440通過將邏輯AND語句更改爲 來簡化它。

參見https://github.com/pypa/pip/issues/2258

+0

啊,誰會想到!謝謝! :) –