Importing classes in python returns cannot import name error
我刚开始我的第一个python项目,但一开始就遇到了一个问题。我正试图弄清楚如何将类导入到main.py文件中。
我的目录结构是…
1 2 3 4 | game - __init__.py - main.py - player.py |
到目前为止,我主要有。
1 2 3 4 | from player import Player player1 = Player("Ben") print player1.name |
号
我得到以下错误…
Traceback (most recent call last):
File"main.py", line 1, in
from player import Player
ImportError: cannot import name Player
号
我有一个谷歌,但找不到任何有用的东西。有人能帮忙吗?
我使用的是python 2.7.10
更新
所以我的player.py包含
1 2 3 4 5 6 | class Player: def __init__(self, name): self.name = name def name(self): return self.name |
我的init.py文件是空的
当执行
通过使用相对导入(在模块名称前面加一个点),您可以告诉python在与当前文件相同的目录中查找模块。这样地:
1 | from .player import Player |
或者,如果这让人困惑,您可以使用绝对路径(
1 | from game.player import Player |
号
但是,您不能总是保证库总是由用户安装在pythonpath根目录下,因此在同一个库中导入模块时,通常首选相对路径。有关更多信息,请参阅文档。