2016-01-17 38 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

啊,谁会想到!谢谢! :) –