【问题标题】:warning in python with MySQLdb使用 MySQLdb 在 python 中发出警告
【发布时间】:2010-03-14 01:16:31
【问题描述】:

当我使用 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")

但是,我没有得到更改。
有什么建议吗?
非常感谢。

【问题讨论】:

    标签: python warnings mysql


    【解决方案1】:

    来自python documentation:您可以通过这种方式过滤您的警告,这样如果其他警告是由您的代码的其他部分引起的,仍然会显示:

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

    但正如 Alex Martelli 所说,最好的解决方案是更新 MySQLdb,使其不使用已弃用的模块。

    【讨论】:

      【解决方案2】:

      您使用的是什么版本的 MySQLdb?我认为当前的(1.2.3c1)应该修复它,请参阅this bug(标记为在 2008 年 10 月修复,1.2 分支)。

      【讨论】:

      • 我有 version = "1.2.2",可能是这个问题。
      • @juanpablo,也许吧,虽然这很奇怪,因为你确实有最后一个完整版本(“c1”表示 1.2.3 的“候选版本 1”)并且 1.2 分支应该已经解决了这个问题1 年以上。我指向的错误报告包括对相关 .py 文件的简单修复,也许您想自己进行这些小编辑并解决问题(这比仅仅抑制警告更好!-),基本上您需要跳过该导入和将内置的 frozenset 绑定到 ImmutableSet 旧的、过时的、不推荐使用的名称!
      猜你喜欢
      • 1970-01-01
      • 2017-09-18
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多