python和pip:依赖关系从未使用PEP508 URL请求升级

2024-05-29 04:50:41 发布

您现在位置:Python中文网/ 问答频道 /正文

PEP508允许为依赖项(尤其是VCS)指定URL。这对于不在pypi上的私有包非常有用。如果我有一个setup.py如下所示的包:

from setuptools import setup

setup(name='foo',
      install_requires=['bar @ git+ssh://git@github.com/me/bar@1.2.3']
)

然后,当我说pip install foo时,它将从github repo下载并安装bar。但是如果我以后想安装一个新版本的foo,(pip install --upgrade foo),它有一个更新的bar依赖项(例如tag2.3.4),pip说依赖项已经满足了

是否有一种编码版本信息的方法,或是迫使pip认识到依赖关系没有得到满足的方法?我知道我可以给pip --upgrade-strategy eager选项,但这会递归地影响所有依赖项,而且操作过于繁重

这个相关的问题PEP508: why either version requirement or URL but not both?询问无法指定版本,但没有回答为什么pip在被要求升级时无法获取URL


Tags: installpip方法pygit版本githubpypi

热门问题