Python警告配置不工作
因此,在为Django项目运行测试时,我得到以下输出:Python警告配置不工作,python,filter,warnings,Python,Filter,Warnings,因此,在为Django项目运行测试时,我得到以下输出: WARNING 2013-04-25 17:55:29,977 18482 29789392 py.warnings:3 <module>() /home/sean/dev/project/testenv/local/lib/python2.7/site-packages/django/conf/urls/defaults.py:3: DeprecationWarning: django.conf.urls.defaults i
WARNING 2013-04-25 17:55:29,977 18482 29789392 py.warnings:3 <module>() /home/sean/dev/project/testenv/local/lib/python2.7/site-packages/django/conf/urls/defaults.py:3: DeprecationWarning: django.conf.urls.defaults is deprecated; use django.conf.urls instead
DeprecationWarning)
WARNING 2013-04-25 17:55:29,986 18482 29789392 py.warnings:10 <module>() /home/sean/dev/project/testenv/local/lib/python2.7/site-packages/django/utils/copycompat.py:10: DeprecationWarning: django.utils.copycompat is deprecated; use the native copy module instead
DeprecationWarning)
这会导致抛出“PendingDeprecationWarning:django.utils.simplejson已被弃用;请改用json”。因此,我使用了:
import warnings
warnings.filterwarnings(
'error', r".*",
Warning, r'.*')
warnings.filterwarnings(
'ignore', r".*",
Warning, r'django\.utils\.simplejson')
但它仍然打印出以前的弃用警告,而不是像预期的那样将其作为错误提出
编辑:
此外,我还尝试将print和pdb语句放在warnings.warn_explicit()的开头,这是发生筛选逻辑的地方,它们永远不会被调用。您可以使用
-W error
选项运行测试或本地django服务器:
$ python -W error manage.py runserver
或
这会将警告视为错误。您可以使用
-W error
选项运行测试或本地django服务器:
$ python -W error manage.py runserver
或
这会将警告视为错误。是否可以尝试在项目文件夹中进行基本搜索?例如,grep“django.utils.copycompat”-r是否可以尝试在项目文件夹中进行基本搜索?例如,grep“django.utils.copycompat”-R
$ python -W error manage.py test