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

Aam*_*nan 8 python django pip

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

这是一个场景:

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

install_requires=[
    'six >=1.2.0',
    'Django >= 1.3'
]
Run Code Online (Sandbox Code Playgroud)

现在我想升级rosetta pip install -U django-rosetta.但它试图下载和安装,Django 1.5因为在rosetta依赖Django >= 1.3是必需的(我不希望它这样做,因为已经安装了Django 1.4)我只希望它升级six包,如果有的话.

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

gor*_*onc 19

这有效,让您更精确:

pip install -U django-rosetta Django==1.4
Run Code Online (Sandbox Code Playgroud)


Gui*_*ume 7

创建需求文件,requirement.txt其中包含:

Django==1.4
Run Code Online (Sandbox Code Playgroud)

然后

pip install -U django-rosetta -r requirement.txt
Run Code Online (Sandbox Code Playgroud)