Pydev标签导入为“未解析的导入”,但使用此导入的代码工作正常。

时间:2013-08-25 21:13:11

标签: python python-2.7 pydev

我对python很新,特别是它的导入机制。我不完全确定我正确地使用了这个术语,所以我应该为此事先道歉。

首先,这似乎是我第三方导入的问题所以我无法真正改变他们发布的结构。

在发布中,所有软件包都在site-packages / [ROOTFOL] / [PACKAGE]中 [ROOTFOL]没有__init__.py文件,只有包文件夹包含此文件。 此文件夹放在site-packages中,site-packages存在于我的PYTHONPATH

在他们提供的示例中,他们使用它:

import ROOTFOL.PACKAGE.WhateverObject as obj

我试图避免将每个包添加到PYTHONPATH,因为它们有很多。一切似乎都运行良好,但它确实抑制了我使用自动完成功能的能力,这是令人沮丧的部分。

我觉得奇怪的是,当安装包时,包装旁边有一个EGG-INFO文件夹。在这里有几个.txt文件,其中一个是namespace_packages.txt,它只有ROOTFOL。我有什么方法可以将它设置为PyDev吗?

1 个答案:

答案 0 :(得分:1)

所以,你在这里看到的是他们的分销模式。通常一个模块将有一个根源导入,但一切都不是必然的。他们提供的包(我假设)是许多不互相交互的模块;或者他们都可以独自一人。

而不是单独导入每个包,您可以使用'from'关键字:

from ROOTFOL.PACKAGE import *

将抓取该子模块内的所有内容。您可以通过电子邮件向开发人员发送电子邮件,询问他们为何以这种方式部署它......或者您可以将自己的__init__.py添加到根文件夹中,

from ROOTFOL import * 

将走在树上。祝你好运!