pip 在非交互模式下递归安装和卸载



作为我的 bash 脚本的一部分,我想安装和卸载 pip 依赖项,它们的名称以非交互模式保存在文件中。我能够四处搜索并找到这些命令:

pip3 uninstall --yes -r host-requirements.txt
pip3 install --no-input -r host-requirements.txt

我无法在pip的帮助文档中找到--yes--no-input选项,我不确定它们是否得到官方支持。

对于卸载,您可以使用 --yes-y 标志,如下所述:https://pip.pypa.io/en/stable/cli/pip_uninstall/

对于安装,您可以传递如下所述的yes | pip install -r requirements.txt:python pip 静默安装

希望这有帮助。

除了

"是"之外,还有更多的互动问题需要其他答案。例如:

Directory /opt/services/spam/egg already exists, and is not a git clone.
What to do?  (i)gnore, (w)ipe, (b)ackup`

在这种情况下,我发现打电话给echo "i" | pip install ...就足够了。

安装时的一个常见问题是,如果必须解决私有存储库依赖项,并且必须首先添加远程服务器的密钥。

Obtaining file://...
Collecting your_private_package@ git+ssh://...
  Cloning ssh://****@.../
  Running command git clone -q 'ssh://****@.../
The authenticity of host can't be established.
RSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)?

为此,ssh StrictHostKeyChecking将暂时设置为 no。 这可以在主机或用户级别完成,但风险较低。

最新更新