如何使用--dev让pipenv不忽略版本号?

时间:2018-01-25 09:49:25

标签: python pipenv

当我在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包,但这正是发生的事情。

这是一个错误,还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

事实证明这是一个bug(现已修复),所以如果其他人碰到这个,现在你知道在哪里看: - )