2

我正在使用 pydev 开发一个 pyclutter 应用程序。Clutter 被添加到解释器路径并在强制内置列表中,但 clutter 命名空间中的所有对象都显示为“缺少导入”错误(即红色曲线)。

是否有另一种方法可以强制 pydev 的内省更加健壮?我怀疑它可能比平时更难自省混乱的内容,因为它使用 pygobject 将对象从共享 C 库中拉出,但是如果我使用 in-IDE python 调试器查看模块的内容,里面的对象包裹全部出现。

谢谢,

4

1 回答 1

2

好吧,如果你在那里添加一个对象(比如,'mypy.lib'),PyDev 将创建一个 shell,在其中导入该模块(即:import mypy.lib)并在其中执行一个目录(即:dir(mypy.lib)。库))。

如果由于某种原因执行 dir() 确实在命令行中起作用但在代码完成中不起作用,那么这可能是 PyDev 中的一个问题,但我认为真正的问题是某些库并没有真正公开它们所拥有的在 dir() 上,就在您访问某些“已知”属性时,在这种情况下,目前使其工作的唯一方法是创建具有实际接口的模块(然后根据需要访问内容)或提供“预定义的完成”- - 参见“预定义完成”主题: http: //pydev.org/manual_101_interpreter.html

编辑:如果上述情况没有帮助,它“通常”是一个 PYTHONPATH 错误配置问题(即:添加任何模块后,您应该转到解释器配置并添加缺少的路径——只需添加/删除它通常就可以了,但请注意,如果实际路径本身没有任何变化,您可以转到解释器配置页面,然后按“应用”并选择要重新索引的解释器)——如果这仍然不是您的问题,请告诉我(只是要注意,我在这里安装了混乱,它对我来说工作正常)。

于 2012-04-18T23:52:25.687 回答