使用MySQLdb时的Python警告

1 投票
2 回答
1501 浏览
提问于 2025-04-15 20:24

当我使用 MySQLdb 时,出现了这个信息:

/var/lib/python-support/python2.6/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated from sets import ImmutableSet

我尝试用这个来过滤警告:

import warnings 
warnings.filterwarnings("ignore", message="the sets module is deprecated from sets import ImmutableSet")

但是,我没有看到任何变化。
有什么建议吗?
非常感谢。

2 个回答

1

你在用哪个版本的MySQLdb?我觉得现在的版本(1.2.3c1)应该已经修复了这个问题,具体可以看看这个bug(在2008年10月标记为已修复,属于1.2分支)。

4

来自 Python文档:你可以通过这种方式来过滤警告,这样如果你代码的其他部分产生了其他警告,它们仍然会显示出来:

import warnings
with warnings.catch_warnings():
    warnings.simplefilter("ignore", DeprecationWarning)
    import MySQLdb
[...]

但是正如Alex Martelli所说,最好的解决办法是更新MySQLdb,这样它就不会使用那些过时的模块了。

撰写回答