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

时间:2019-05-30 17:30:29

标签: python pip

作为bash脚本的一部分,我想以非交互方式安装和卸载在文件中具有其名称的pip依赖项。我能够四处搜索并找到以下命令:

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

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

3 个答案:

答案 0 :(得分:1)

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

对于安装,您可以按照以下说明传递yes | pip install -r requirements.txtpython pip silent install

希望这会有所帮助。

答案 1 :(得分:0)

除了“是”以外,还有更多的互动问题需要其他答案。例如:

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 ...就足够了。

答案 2 :(得分:0)

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

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。这可以在主机或用户级别完成,但安全性较低。