作为我的 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。 这可以在主机或用户级别完成,但风险较低。