gpt4 book ai didi

python - 从特定提交提示 "requirements already satisfied"进行 Pip 安装

转载 作者:太空狗 更新时间:2023-10-29 23:59:02 24 4
gpt4 key购买 nike

我正在使用 pip 和一个 requirements.txt 文件来处理我的 virtualenv 中的 python 包。我有一个从 Github 安装的特定包,因此在我的文件中我有:

git+ssh://git@github.com/myuser/mypackage.git#egg=mypackage

由于我经常处理这个包,所以我需要重新安装它,但是:pip install -r requirements.txt 还给我

Requirement already satisfied (use --upgrade to upgrade)...

对于 requirements.txt 中所有有新版本的包。

如果我运行 pip install -r requirements.txt --upgrade 它会尝试升级我的所有包(我想要) 但我只想升级 mypackage。在 requirements.txt 中,我尝试添加一个特定的提交,如下所示:

git+ssh://git@github.com/myuser/mypackage.git@733c5b616da27cba14478c24b#egg=mypackage

但是当我再次运行 pip 时它会抛出:

Requirement already satisfied (use --upgrade to upgrade)..bla bla bla

问题:

  • 有没有可能使用 requirements.txt 文件升级特定包 mypackage 的方法?
  • 我需要指定 #egg=mypackage 吗?

最佳答案

你得到 Requirement already satisfied 的原因是因为如果你不通过 --upgrade-U (简写) ,如果已经安装,则不会修改包。

(命令的这一部分有很多讨论。查看前 4 个问题 here)


是否有可能使用 requirements.txt 文件仅升级特定包 mypackage 的方法?

在告诉 pip 升级时,您只需指定 mypackage 即可。如果你只想更新请求,pip 命令是:

pip install --upgrade requests

同样,要从您的 git 存储库更新,您需要执行以下操作:

pip install --upgrade git+ssh://git@github.com/myuser/mypackage.git#egg=mypackage

因为它是一个 URL 是一个很长的东西,我建议你按照@daphtdazz 的建议,使用多个需求文件,如下所示:

需求.txt

requests~=2.12.3
simplejson~=3.10.0
-r git_requirements.txt

git_requirements.txt

git+ssh://git@github.com/myuser/mypackage.git#egg=mypackage

此外,我建议您为您的 shell 使用 shell-aliases 以减轻输入负担。

alias pip_git_upgrade="pip install --upgrade -r git_requirements.txt"

我需要指定 #egg=mypackage 吗?

引自pip's official documentation :

Any URL may use the #egg=name syntax to explicitly state the project name.

基本上,使用 #egg=mypackage 是个好主意,因为您要明确指定项目名称。

关于python - 从特定提交提示 "requirements already satisfied"进行 Pip 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23736037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com