我正在使用eclipse / aptana进行python开发。 我的python路径配置没有问题,自动完成适用于所有内容,但是我遇到以下问题:
当我在其中一个班级中有一个“常数”且我尝试访问它时,eclipse会抱怨常量上的“来自导入的未定义变量”,例如
class Universe(object):
ULTIMATE_ANSWER = 42
# in different module
# edit from: import Universe
from bigbang.models import Universe
print Universe.ULTIMATE_ANSWER
其中Universe.ULTIMATE_ANSWER触发警告。 此外,自动完成工作正常,所以当我键入Universe.x时,我确实得到了所有常量。
这不是一个紧急问题,但它往往会变得烦人,可能会让你忽略实际的错误。
关于如何使eclipse在这个上运行的任何想法? :)
编辑: 只有在另一个模块中导入类时才会发生这种情况。
编辑2: 如果上面不清楚,代码是有效的,这只是警告,不应该在那里...... 我已经尝试过将这个复制到我以外的项目中,包括eclipse和aptana中的pydev。
编辑3: 与下面的评论一样,这可能是pydev中的一个错误。提交并等待......
答案 0 :(得分:1)
如果,(参见@Aix)你的意思是from mymodel import Universe
:
Universe.ULTIMATE_ANSWER
后使用ctrl + 1;系统会要求您添加注释以忽略该错误。
您还可以将模型添加为强制内置,在运行时提示分析(您说过,没有错误)
答案 1 :(得分:0)
你没有import
一个类,你导入一个模块。
如果您的模块被调用Universe
(与您的班级一样),则变量的完全限定名称为Universe.Universe.ULTIMATE_ANSWER
。
如果你在模块的顶层定义了变量(即在你的类之外),那么它将被称为Universe.ULTIMATE_ANSWER
:
# Universe module
ULTIMATE_ANSWER = 42
class Universe(object):
pass
# in different module
import Universe
print Universe.ULTIMATE_ANSWER