Python:导入变量失败

Python:导入变量失败,python,eclipse,variables,import,pydev,Python,Eclipse,Variables,Import,Pydev,我将Eclipse/PyDev与Python2.7一起用于Django中的一个项目。在我的一个应用程序(比如app1)中,我在models.py中定义了一个变量,并为其分配了列表。我无法将这些导入到另一个应用程序(比如app2)的models.py中。假设项目名为projectName projectName/app1/models.py VARIABLE_NAME = ( ('a', 'choice1'), ('b', 'choice2'), ) from projectNa

我将Eclipse/PyDev与Python2.7一起用于Django中的一个项目。在我的一个应用程序(比如app1)中,我在models.py中定义了一个变量,并为其分配了列表。我无法将这些导入到另一个应用程序(比如app2)的models.py中。假设项目名为projectName

projectName/app1/models.py

VARIABLE_NAME = (
    ('a', 'choice1'),
    ('b', 'choice2'),
)
from projectName.app1.models import VARIABLE_NAME
projectName/app2/models.py

VARIABLE_NAME = (
    ('a', 'choice1'),
    ('b', 'choice2'),
)
from projectName.app1.models import VARIABLE_NAME
我从Eclipse接收到一个未解析导入的错误:VARIABLE\u NAME


有什么想法吗?

PyDev的EclipseAPI也为我做了这件事。它无法检查是否从…导入。。。样式导入实际上将解析为真正的导入。我觉得这很正常。当你运行这个程序时,它可能会工作。如果不是,那很可能是你的错误

PyDev的EclipseAPI也为我做到了这一点。它无法检查是否从…导入。。。样式导入实际上将解析为真正的导入。我觉得这很正常。当你运行这个程序时,它可能会工作。如果不是,那很可能是你的错误

我认为发生了以下事情:

1) Eclipse看到您正在尝试导入,但projectName不是sys.path中的包(除非您显式地添加了它),所以它很好,而且对您来说很麻烦

2) 问题是projectName不应该是一个包;至少现在还没有。根据,它说“此外,manage.py……将项目的包放在sys.path上。”


因此,我将忽略“错误”,即使Eclipse在技术上是正确的,您无法进行该导入。Django设置的要点是,当您执行“python manage.py runserver”时,projectName实际上是可用的,所以一切都很好

我认为发生了以下事情:

1) Eclipse看到您正在尝试导入,但projectName不是sys.path中的包(除非您显式地添加了它),所以它很好,而且对您来说很麻烦

2) 问题是projectName不应该是一个包;至少现在还没有。根据,它说“此外,manage.py……将项目的包放在sys.path上。”


因此,我将忽略“错误”,即使Eclipse在技术上是正确的,您无法进行该导入。Django设置的要点是,当您执行“python manage.py runserver”时,projectName实际上是可用的,所以一切都很好

找到了解决办法。正如yanxhang指出的,这是一个蟒蛇问题。在Eclipse的首选项中,在PyDev>解释器下,在System PYTHONPATH的底部窗口中,确保添加作为projectName父级的文件夹,然后单击apply。这允许projectName解析自身及其所有子项。

找到了解决方案。正如yanxhang指出的,这是一个蟒蛇问题。在Eclipse的首选项中,在PyDev>解释器下,在System PYTHONPATH的底部窗口中,确保添加作为projectName父级的文件夹,然后单击apply。这允许projectName解析自身及其所有子项