Python:导入变量失败

时间:2012-01-14 03:13:26

标签: 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'),
)

PROJECTNAME / APP2 / models.py

from projectName.app1.models import VARIABLE_NAME

我收到了Eclipse未解决的导入错误:VARIABLE_NAME

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

PyDev的Eclipse API也为我做了这个。检查来自...... import ...样式导入是否实际解析为真正的导入是很麻烦的。这看起来很正常。当您运行该程序时,它可能会工作。如果没有,那很可能是你的错误。

答案 1 :(得分:1)

我认为以下是正在发生的事情:

1)Eclipse看到你试图导入,但是projectName不是一个包(除非你在sys.path中明确地添加它),所以它很好并且抱怨你。

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

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

答案 2 :(得分:1)

找到解决方案。这是一个PYTHONPATH问题,正如yanxhang指出的那样。在Eclipse的首选项中,在PyDev>下解释器,在系统PYTHONPATH的底部窗口中,确保添加作为projectName父项的文件夹,然后单击“应用”。这允许projectName自行解析它及其所有子节点。