Python的 - 不能从台进口集(“无模块命名集”)(Python - can't imp

2019-06-27 03:52发布

我努力学习Python和我试图写的东西很简单。 我使用的OS X 10.8 Pydev的(Eclipse中)下的发展。 我用64位的.dmg安装程序安装的Python 3.2。

我配置了Python解释器成功(或我是这么认为的,因为我居然可以创建一个“Hello World”项目并运行它)。 但由于某些原因,当我尝试导入设置( from sets import Set )我得到这个错误:

    from sets import Set;
ImportError: No module named sets

我已经测试了命令太行,并给了我同样的错误。

然后,我已经看了lib文件夹从(下我python3目录/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/ ),它缺少sets.py文件! 最初的2.7版确实在有它/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/

我也曾尝试到2.7 sets.py复制到3.2,但它没有工作......拜托,你知道我有什么做的?

Answer 1:

你不需要sets模块了。 set是在Python 3内置类,并可以在不导入使用。

my_set = set()


Answer 2:

在最近的每一个Python版本集内置为set和Python 3摆脱了过时的sets共模块。

如果你想确保代码还与古老的版本,你可以做这样的事情,虽然:

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

如果你需要运行旧的代码并且不想改变它( 糟糕!):

try:
    from sets import Set
except ImportError:
    Set = set


Answer 3:

你不需要使用

from sets import Set
engineers = Set(['John', 'Jane', 'Jack', 'Janice'])

因为版本2.6以上不推荐使用:

您可以使用下面的代码上面的2.6版本

engineers = set(['John', 'Jane', 'Jack', 'Janice'])
programmers = set(['Jack', 'Sam', 'Susan', 'Janice'])
managers = set(['Jane', 'Jack', 'Susan', 'Zack'])
employees = engineers | programmers | managers  
print(employees)


文章来源: Python - can't import Set from sets (“no module named sets”)