Подтвердить что ты не робот

Устанавливает устаревшее предупреждение модуля

Когда я запускаю свой python script, я получаю следующее предупреждение

DeprecationWarning: the sets module is deprecated

Как это исправить?

4b9b3361

Ответ 1

Прекратите использование модуля sets или переключитесь на более старую версию python, где она не устарела.

Согласно pep-004, sets устарел от версии 2.6, заменен встроенным set и frozenset типы.

Ответ 2

История:

До Python 2.3: нет установленной функции
Добавлен модуль Python 2.3: sets Python 2.4: set и frozenset встроенные встраиваемые
Python 2.6: sets модуль устарел

Вы должны изменить свой код, чтобы использовать set вместо sets.Set.

Если вы все еще хотите поддерживать Python 2.3, вы можете сделать это в начале вашего script:

try:
   set
except NameError:
   from sets import Set as set

Ответ 3

Если вы хотите исправить ошибку, у Джеймса определенно есть правильный ответ, но если вы хотите просто отключить предупреждения об устаревании, вы можете запустить python следующим образом:

$ python -Wignore::DeprecationWarning 
Python 2.6.2 (r262:71600, Sep 20 2009, 20:47:22) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sets
>>> 

(От: http://puzzling.org/logs/thoughts/2009/May/3/python26-deprecation-warning)

Вы также можете игнорировать его программно:

import warnings
warnings.simplefilter("ignore", DeprecationWarning)

Ответ 4

Используйте builting set вместо импорта модулей модулей

Из документация:

Модуль наборов устарел; его лучше использовать встроенный набор и frozenset.

Ответ 5

Вам не нужно импортировать модуль sets, чтобы использовать их, они находятся во встроенном пространстве имен.