将 `PYTHONWARNINGS` 设置为禁用 python 警告似乎无济于事
setting `PYTHONWARNINGS` to disable python warnings seems to do nothing
我目前是 运行 openstack
可执行文件,它会生成 python 弃用警告。
经过一番搜索,我确实找到了 this howto。
relevant part 在这里:
Use the PYTHONWARNINGS
Environment Variable to Suppress Warnings in Python
We can export a new environment variable in Python 2.7 and up. We can export PYTHONWARNINGS
and set it to ignore to suppress the warnings raised in the Python program.
但是,这样做:
PYTHONWARNINGS="ignore" openstack image show image name -f value -c id
什么都不做,仍然显示弃用警告。
我已经尝试将 PYTHONWARNINGS
设置为各种设置:
ignore
"ignore"
"all"
"deprecated"
"ignore::DeprecationWarning"
"error::Warning,default::Warning:has_deprecated_syntax"
"error::Warning"
但其中 none 似乎无所不能。
我可以通过在末尾附加 2>/dev/null
来解决这个问题,但我想知道为什么 PYTHONWARNINGS
似乎什么也没做。
PYTHONWARNINGS
当然会抑制 python 的警告。试试 运行:
PYTHONWARNINGS="ignore" python -c "import warnings; warnings.warn('hi')"
但在这种情况下你不是在调用python,而是openstack,它显然没有继承相同的环境。如果不查看源代码,我无法说出原因。它甚至可以明确设置警告级别,这将覆盖您之前所做的任何操作。
如果您不想看到错误,将 STDERR 发送到 /dev/null
是正确的方法。
您可能需要“导出 PYTHONWARNINGS”,以便它可用于任何 openstack 调用
我目前是 运行 openstack
可执行文件,它会生成 python 弃用警告。
经过一番搜索,我确实找到了 this howto。
relevant part 在这里:
Use the
PYTHONWARNINGS
Environment Variable to Suppress Warnings in PythonWe can export a new environment variable in Python 2.7 and up. We can export
PYTHONWARNINGS
and set it to ignore to suppress the warnings raised in the Python program.
但是,这样做:
PYTHONWARNINGS="ignore" openstack image show image name -f value -c id
什么都不做,仍然显示弃用警告。
我已经尝试将 PYTHONWARNINGS
设置为各种设置:
ignore
"ignore"
"all"
"deprecated"
"ignore::DeprecationWarning"
"error::Warning,default::Warning:has_deprecated_syntax"
"error::Warning"
但其中 none 似乎无所不能。
我可以通过在末尾附加 2>/dev/null
来解决这个问题,但我想知道为什么 PYTHONWARNINGS
似乎什么也没做。
PYTHONWARNINGS
当然会抑制 python 的警告。试试 运行:
PYTHONWARNINGS="ignore" python -c "import warnings; warnings.warn('hi')"
但在这种情况下你不是在调用python,而是openstack,它显然没有继承相同的环境。如果不查看源代码,我无法说出原因。它甚至可以明确设置警告级别,这将覆盖您之前所做的任何操作。
如果您不想看到错误,将 STDERR 发送到 /dev/null
是正确的方法。
您可能需要“导出 PYTHONWARNINGS”,以便它可用于任何 openstack 调用