2013-02-04 104 views
1

我正在使用Eclipse Juno中的项目。我在名为chargen.py的包中编写了一个名为Character的类。 from chargen import Character旁边有一个红色的X:未解决的导入错误,但尚未成功导入

Unresolved import: Character 
Character Found at: Avarice_v0.PlayAvarice_v0 

from chargen import Character 

然而,导入工作。目前整个代码很简单:

from chargen import Character 

def main(): 
    PLAYER = Character("") 
    print(PLAYER) 

if __name__ == '__main__': 
    main() 

此代码导致__str__的印刷证明(“”)跑了字。另外,它在运行时不会产生错误。为什么Eclipse标签为Unresolved import: Character

Red X In Eclipse Example

+0

你试过建立/清洁自导入? – Walls

+0

请解释一下你的意思?我不清楚。 –

+0

在顶部菜单中,建立项目:“项目”>“生成项目”。然后尝试清理它:“项目”>“清理...” – Walls

回答

1

我想出了如何摆脱错误。我把所有的目录都移动了。该项目的设置显示PYTHONPATH包含主目录,但不包括嵌套的目录。通过全部移动并删除现在空的原始文件夹,我没有未解决的导入错误。这帮助我更多地了解PyDev项目初始设置时提供的PYTHONPATH选项。

0

在为您的项目属性,有一个名为“窗格的PyDev - PYTHONPATH”,与所谓的“外部库”子窗格。您可以将源文件夹(包含init .py的任何文件夹)添加到使用该窗格的路径中。您的项目代码将能够从这些源文件夹中导入模块。

+0

你的回答引发了我现在有一段时间的问题。由于chargen.py与PlayAvarice位于同一文件夹内,因此导入内容也在相同的目录中吗?这就是导入工作的原因。似乎错误意味着程序包chargen.py不在PYTHONPATH中。当我在Eclipse中创建一个新项目时,它会询问我是否要将目录添加到PYTHONPATH中,创建SRC并添加它,或者稍后手动添加它...是因为选择了不恰当的选择项目创建?我不确定哪个选择对每个项目都合适。 –

+0

这就像设置外部参考。如果你不打算创造许多并非全部相互关联的东西,我想你可以把它留下。但是,当您正在处理您计划在不同项目中使用的内容时,可能会在开始时添加它,以便将来不会再弹出。 – Walls