我正在尝试安装特定版本的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.1
。
specification表示逗号可以作为逻辑'和'算子,但显然没有版本可以同时为0.5.2,0.6和0.6.1,因此要求不匹配。只需通过pip install django-mptt==0.5.2
安装其中一个版本就可以顺利运行但是django-cms == 3.0.5仍然存在相同的错误。
有人能说清楚这个吗?
答案 0 :(得分: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仍应正确安装。
编辑从点子版本6.0开始,单个包的多个==
版本说明符不再有效。其中一位开发人员对Github发表了评论:
这是PEP 440的新预期行为。
setuptools的旧行为令人困惑,并没有做到最多 人们期望它能做到。 PEP 440通过将a更改为a来简化它 逻辑AND声明。