gpt4 book ai didi

python - 使用 setuptools (pip) 时如何打印警告和错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:34:37 25 4
gpt4 key购买 nike

我正在使用 setuptools 打包代码,以便可以使用

轻松安装
cd project_name && pip install .

在设置过程中,我想警告用户预先存在的配置文件,并在系统上打印一些安装后说明。例如

/etc/project_name/project.conf exists. Not copying default config file.

我已经尝试使用 printlogging.warning() 但在使用 pip 安装时仍然没有出现警告。我觉得我遗漏了一些明显的东西。

我们正在尝试在 Redhat 系列 >= el6 和 Ubuntu >= 14.04LTS 上支持 3.0 > python >= 2.6

最佳答案

如果您查看 pip 源代码,在负责运行设置脚本的函数 call_subprocess ( source here ) 中,它说:

def call_subprocess(cmd, show_stdout=False, cwd=None, ...
"""
Args:
show_stdout: if true, use INFO to log the subprocess's stderr and
stdout streams. Otherwise, use DEBUG. Defaults to False.
...
"""
...
# Most places in pip use show_stdout=False. What this means is--
#
# - We connect the child's output (combined stderr and stdout) to a
# single pipe, which we read.
# - We log this output to stderr at DEBUG level as it is received.
# - If DEBUG logging isn't enabled (e.g. if --verbose logging wasn't
# requested), then we show a spinner so the user can still see the
# subprocess is in progress.
# - If the subprocess exits with an error, we log the output to stderr
# at ERROR level if it hasn't already been displayed to the console
# (e.g. if --verbose logging wasn't enabled). This way we don't log
# the output to the console twice.
#
# If show_stdout=True, then the above is still done, but with DEBUG
# replaced by INFO.

简而言之,只有在以下情况下您才能看到输出:

  • 您的设置因错误而退出,或者
  • 用户使用详细标志 -v 调用 pip

关于python - 使用 setuptools (pip) 时如何打印警告和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616823/

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