Python导入需要模块名称

时间:2014-07-21 17:43:41

标签: python python-3.x pydev

我在Eclipse中的PyDev上的同一目录中有两个.py文件,如下所示:

DemoProject
|
+---- __init__.py
|
+---- demo_functions.py
|
+---- demo_runner.py

在demo_runner.py文件中,我尝试使用

导入demo_functions
import demo_functions

但PyDev将此标记为导入问题。它喜欢

import DemoProject.demo_functions

虽然。即使PyDev不喜欢它,项目也会运行。知道PyDev有什么问题吗?

2 个答案:

答案 0 :(得分:2)

听起来没有任何东西本身是“错误的”。你应该使用full/correct imports并且不希望解释器知道你在说什么,特别是从newer versions of Python only support proper imports开始。

from . import demo_functions

答案 1 :(得分:1)

问题是你应该添加' DemoProject'作为PyDev中的源文件夹(这是要添加到PYTHONPATH的文件夹),而不是让项目基目录在PYTHONPATH中。

您可以在项目配置中更改它(在pydev软件包资源管理器中选择项目> alt +输入> pydev - pythonpath)

作为一个注释,您可能不希望__init__.py达到该级别(因为那是您的顶级而非包裹)。