通过requirements文件静默安装Python模块,如何实现输出信息的隐藏?

36

pip有一个-q / --quiet标志,从命令行中使用是最理想的。我正在使用自动化部署过程(Amazon Elastic Beanstalk),工具使用pip从requirements文件进行安装。

不幸的是,pip正在生成非错误输出,导致EB中止,因为其记录器无法处理非ASCII输出。

由于我无法直接对pip命令应用quiet标志(它是自动运行的),是否有逐行标志可以在我的requirements文件中设置或环境变量可以抑制pip的输出?

2个回答

35
Pip提供了--quiet / -q选项来消除输出。例如:

pip install -q -r requirements.txt


5
pip有一个-q/--quiet标志,它可用于抑制输出。使用该标志将使pip在安装软件包时不会显示冗长的输出信息,只会显示必要的警告和错误消息。这对于需要在命令行界面上快速安装软件包而不受干扰的用户来说非常有用。 - Carl Walsh
看起来我只读了问题标题和答案。而且看起来其他几个人也是这样做的,并且发现我的回答很有帮助。 - David Schumann

14

经过更深入的挖掘,这是pip在github上待处理的功能请求:

https://github.com/pypa/pip/issues/271

临时解决方法:在此功能实现、发布并在Elastic Beanstalk上可用之前,使用单独的bash脚本逐行调用pip。


21
为了方便他人查阅,现在 pip 支持 -q 选项以安装 requirements 文件中的内容,例如 pip -q install -r requirements.txt。此外,pip 还支持在 requirements 文件中使用每行的 --global-option="..."--install-option="...",具体取决于您希望将选项插入到 setup.py 行的“install”前还是后面,例如:python <global_opt> install <install_option> setup.py。详情请参见 https://github.com/pypa/pip/pull/2537。 - Chris Warth
可惜的是,pip并没有实现一个安静选项,正如这篇文章所指出的。即使传递了“-q”参数,仍然会产生非错误的输出。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接