Ошибка Python при использовании MysqlDb - sets модуль устарел - PullRequest
6 голосов
/ 12 февраля 2010

В настоящее время я получаю предупреждение каждый раз, когда запускаю скрипт Python, использующий MySQLdb:

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

Я бы лучше не связывался с их библиотекой, если это возможно. Я на сервере Ubuntu. Кто-нибудь знает простой способ исправить это предупреждение?

Спасибо

UPDATE : Исправлено на основе предложений ниже и этой ссылки: https://bugzilla.redhat.com/show_bug.cgi?id=505611

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

Ответы [ 3 ]

6 голосов
/ 12 февраля 2010

Сделайте это до импорта модуля mysql

import warnings
warnings.filterwarnings(action="ignore", message='the sets module is deprecated')
import sets
1 голос
/ 12 февраля 2010

Вы можете игнорировать предупреждение, используя модуль warnings или аргумент -W для Python. Не игнорируйте все DeprecationWarnings, только те из MySQLdb:)

0 голосов
/ 12 февраля 2010

Все это означает, что модуль sets (точнее, часть immutableset) устарел, и вы должны использовать его замену, set. Набор встроен, поэтому нет необходимости импортировать.

Если вам нужен неизменный набор, frozenset () должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...