1

我将 django 固定到一个特定的旧版本:

...
[packages]
...
Django = "==1.10.8"

我无法安装:

$ pipenv install

Could not find a version that matches Django==1.10.8,>=1.11,>=1.6,>=1.7,>=1.8,>=1.8.7

当然,这些约束是相互排斥的。所以我还是强制安装,看看图表:

$ pipenv install --skip-lock

现在看一下图表:

django-allauth==0.35.0
  - Django [required: >=1.11, installed: 1.10.8]
  - python3-openid [required: >=3.0.8, installed: 3.1.0]
    - defusedxml [required: Any, installed: 0.5.0]
  - requests [required: Any, installed: 2.18.4]
    - certifi [required: >=2017.4.17, installed: 2018.4.16]
    - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
    - idna [required: >=2.5,<2.7, installed: 2.6]
    - urllib3 [required: >=1.21.1,<1.23, installed: 1.22]
  - requests-oauthlib [required: >=0.3.0, installed: 0.8.0]
    - oauthlib [required: >=0.6.2, installed: 2.0.7]
    - requests [required: >=2.0.0, installed: 2.18.4]
      - certifi [required: >=2017.4.17, installed: 2018.4.16]
      - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
      - idna [required: >=2.5,<2.7, installed: 2.6]
      - urllib3 [required: >=1.21.1,<1.23, installed: 1.22]

(这发生在几个包中)

我现在该怎么办?我认为将解决我的问题是:

  • 搜索所有需要高于我想要的版本的软件包
  • 看看这些包的主页,看看我是否可以使用要求较低的旧版本,符合我当前对 django 的最大要求

这看起来很麻烦,而且似乎是可以自动解决的pipenv

有比手动固定几个包更简单的解决方案吗?理想情况下,我只想固定 django,pipenv剩下的就交给我吧。

4

1 回答 1

0

如果您想将 Django 固定到 1.10.8 版,您也不能将 django-allauth 固定到 0.35 版,因为以下版本至少需要 Django 1.11,因此您需要使用例如 0.34 或在 requirements.txt 中设置不要固定 django- allauth 版本

于 2018-04-20T12:42:44.147 回答