当我在Pipfile
中为包设置特定版本并使用pipenv install
时,安装了特定版本。但是,当我使用pipenv install --dev
并且其中一个开发包需要第一个包(不管版本)时,我的指定版本号不受尊重。
一个例子可能是最好的:
$ pipenv --version
pipenv, version 9.0.3
$ pipenv --python 3
Creating a virtualenv for this project…
Using /usr/bin/python3 to create virtualenv…
⠋Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/daniel/.local/share/virtualenvs/scratch-kl-E6MqG/bin/python3
Also creating executable in /home/daniel/.local/share/virtualenvs/scratch-kl-E6MqG/bin/python
Installing setuptools, pip, wheel...done.
Virtualenv location: /home/daniel/.local/share/virtualenvs/scratch-kl-E6MqG
$ pipenv shell
$ pip freeze
$ pipenv install
Installing dependencies from Pipfile.lock (53ac0c)…
▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 2/2 — 00:00:02
$ pip freeze
Django==1.11.9
pytz==2017.3
$ pipenv install --dev
Installing dependencies from Pipfile.lock (53ac0c)…
▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 6/6 — 00:00:04
$ pip freeze
Django==2.0.1
django-debug-toolbar==1.9.1
pytz==2017.3
sqlparse==0.2.4
$ cat Pipfile
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[packages]
django = "<2.0,>=1.11"
[dev-packages]
django-debug-toolbar = "*"
重要的是要注意django-debug-toolbar
上的要求是>=1.11
,因此无需升级Django
包,但这正是发生的事情。
这是一个错误,还是我做错了什么?