pip:升级包而不升级特定依赖项

时间:2013-06-20 10:06:40

标签: python django pip

我的问题与this问题非常相似。但它的不同之处在于,如果我正在安装某个软件包,我只想禁用特定依赖项的升级而不是所有依赖项。我知道有一个标志--no-deps,但它会排除所有依赖,而我只想排除一个。

以下是一个场景:

以下是最新版本中的django-rosetta个依赖项:

install_requires=[
    'six >=1.2.0',
    'Django >= 1.3'
]

现在我要升级rosetta pip install -U django-rosetta。但它试图下载并安装Django 1.5,因为在rosetta依赖Django >= 1.3是必需的(并且我不希望它已经安装了Django 1.4)我只希望它升级{{1如果有的话,包。

six标志无效,因为它也会排除--no-deps包。我也没有使用虚拟环境。有什么建议吗?

2 个答案:

答案 0 :(得分:19)

这样可以让您更精确:

pip install -U django-rosetta Django==1.4

答案 1 :(得分:7)

创建包含以下内容的需求文件requirement.txt

Django==1.4

然后

pip install -U django-rosetta -r requirement.txt
相关问题