Когда я запускаю свой python script, я получаю следующее предупреждение
DeprecationWarning: the sets module is deprecated
Как это исправить?
Когда я запускаю свой python script, я получаю следующее предупреждение
DeprecationWarning: the sets module is deprecated
Как это исправить?
Прекратите использование модуля sets
или переключитесь на более старую версию python, где она не устарела.
Согласно pep-004, sets
устарел от версии 2.6, заменен встроенным set
и frozenset
типы.
История:
До 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
Если вы хотите исправить ошибку, у Джеймса определенно есть правильный ответ, но если вы хотите просто отключить предупреждения об устаревании, вы можете запустить 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)
Используйте builting set
вместо импорта модулей модулей
Из документация:
Модуль наборов устарел; его лучше использовать встроенный набор и frozenset.
Вам не нужно импортировать модуль sets
, чтобы использовать их, они находятся во встроенном пространстве имен.