我正在编写一个我继承的django项目的模块依赖项列表。我正在Windows 7计算机上设置本地环境。
首先要求之一是django == 1.4.1,所以我用pip安装它,就像这样;
pip install -U django==1.4.1
这很好用。但是当我到达其他一些项目时,比如django-nose,然后运行
pip install -U django-nose==1.1
然后我在控制台输出中注意到它正在将我的django副本更新为1.6.5
我当然可以在之后回到django == 1.4.1,但我想有更新的原因,我想了解它。我希望我的本地环境与我要部署的暂存环境相匹配,可以回溯我的版本,还是有办法告诉pip不要为我更新django?或者新版本是我正在安装的模块的要求吗?
答案 0 :(得分:1)
-U
开关告诉pip
upgrade the package and dependencies他们最新的可用版本:
-U
将所有软件包升级到最新的可用版本。 无论是否已满足依赖关系,此过程都是递归的。
强调我的。
django-nose
取决于nose
和Django
,因此这些版本会升级到最新版本,您没有明确指出它们。
如果您不想升级依赖项,请使用--no-deps
:
pip install -U --no-deps django-nose==1.1
或更好, 不使用-U
。您已固定django-nose
,因此-U
开关无效。
答案 1 :(得分:0)
开关-U
表示:
“将所有软件包升级到最新的可用版本。无论是否已满足依赖项,此过程都是递归的。”
所以你只是自己强迫更新。