【发布时间】:2010-01-11 08:25:12
【问题描述】:
当我运行我的 python 脚本时,我收到以下警告
DeprecationWarning: the sets module is deprecated
我该如何解决这个问题?
【问题讨论】:
-
哪个版本的 Python?
标签: python
当我运行我的 python 脚本时,我收到以下警告
DeprecationWarning: the sets module is deprecated
我该如何解决这个问题?
【问题讨论】:
标签: python
停止使用sets 模块,或切换到未弃用的旧版python。
根据pep-004,sets 自 v2.6 起已弃用,取而代之的是内置的 set and frozenset types。
【讨论】:
历史:
在 Python 2.3 之前:没有设置功能
Python 2.3:sets 模块到达
Python 2.4:引入了 set 和 frozenset 内置函数
Python 2.6:sets 模块已弃用
您应该将代码更改为使用set 而不是sets.Set。
如果您仍希望能够支持使用 Python 2.3,您可以在脚本的开头执行此操作:
try:
set
except NameError:
from sets import Set as set
【讨论】:
如果你想修复它,James 肯定有正确的答案,但如果你只想关闭弃用警告,你可以像这样运行 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)
【讨论】:
【讨论】:
您无需导入 sets 模块即可使用它们,它们位于内置命名空间中。
【讨论】: