【问题标题】:pip requirement specifiers: role of the commapip 要求说明符:逗号的作用
【发布时间】:2016-04-22 19:22:32
【问题描述】:

我正在尝试安装特定版本的 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 仍然存在相同的错误。

有人能解释一下吗?

【问题讨论】:

    标签: python django python-2.7 pip django-cms


    【解决方案1】:

    这是 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

    【讨论】:

    • 啊,谁能想到!谢谢! :)
    猜你喜欢
    • 2015-12-17
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 2010-10-31
    • 2022-06-11
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    相关资源
    最近更新 更多