使用MysqlDb时出现Python错误 - 不推荐使用sets模块

时间:2010-02-11 23:19:37

标签: python mysql

每次运行使用MySQLdb的Python脚本时,我都会收到警告:

/var/lib/python-support/python2.6/MySQLdb/__init__.py:34:
DeprecationWarning: the sets module is deprecated
  from sets import ImmutableSet
如果可能的话,我宁可不要乱用他们的lib。我在Ubuntu服务器上。任何人都知道一个简单的方法来修复该警告信息?

由于

更新: 根据以下建议和此链接修正了此问题:https://bugzilla.redhat.com/show_bug.cgi?id=505611

import warnings
warnings.filterwarnings('ignore', '.*the sets module is deprecated.*',
                        DeprecationWarning, 'MySQLdb')
import MySQLdb

3 个答案:

答案 0 :(得分:6)

在导入mysql模块之前执行此操作

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

答案 1 :(得分:1)

您可以使用warnings模块或Python的-W参数忽略警告。不要忽略所有DeprecationWarnings,只是来自MySQLdb:)

答案 2 :(得分:0)

所有这意味着不推荐使用sets模块(更具体地说,是immutableset部分),你应该使用它的替换,设置。 Set是内置的,因此无需导入。

如果你需要一个不可变的集合,frozenset()应该可以工作。