我将 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
剩下的就交给我吧。