8

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

这是一个场景:

  • 我安装了 Django 1.4
  • 我安装了django -rosetta

以下是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)我只希望它升级six包(如果有的话)。

--no-deps标志将不起作用,因为它也会排除six包。我也没有使用虚拟环境。请问有什么建议吗?

4

2 回答 2

21

这有效,让您更精确:

pip install -U django-rosetta Django==1.4
于 2015-01-05T14:53:32.910 回答
8

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

Django==1.4

然后

pip install -U django-rosetta -r requirement.txt
于 2013-06-20T10:21:08.760 回答