С помощью Python можно фильтровать определенные предупреждения , используя следующий синтаксис командной строки:
-W action:message:category:module:line
Но как определить правильное значение для module
для конкретного предупреждения?
Рассмотрим следующий пример:
Использование (pipenv --python 3.6.5 install lxml==4.2.4
)
> python -W error -c "from lxml import etree"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "src/lxml/etree.pyx", line 75, in init lxml.etree
File "src/lxml/_elementpath.py", line 56, in init lxml._elementpath
ImportWarning: can't resolve package from __spec__ or __package__, falling back on __name__ and __path__
Если кто-то хочет игнорировать только это конкретное предупреждение об импорте, как найти имя модуля дляиспользовать?Ни одна из следующих команд не является правильной.Они все еще издают предупреждение.
python -W error -W ignore::ImportWarning:lxml -c "from lxml import etree"
python -W error -W ignore::ImportWarning:lxml.etree -c "from lxml import etree"
python -W error -W ignore::ImportWarning:lxml._elementpath -c "from lxml import etree"
python -W error -W ignore::ImportWarning:etree -c "from lxml import etree"
python -W error -W ignore::ImportWarning:_elementpath -c "from lxml import etree"
python -W error -W 'ignore::ImportWarning:lxml[.*]' -c "from lxml import etree"