代码完成了如numpy的,SciPy的或Matplotlib没有在Eclipse中工作的PyDev(

2019-09-20 00:05发布

无法获取代码完成为如SciPy的,NumPy的或Matplotlib在Eclipse / PyDev的Ubuntu的12.4或11.4下工作。 试着用Eclipse的赫利俄斯和朱诺,在的PyDev最新版本(2.6)。

代码自动完成功能为如内部项目引用或内建工作。

添加路径“首选项 - > Pydev->解释 - Python->库”,并补充SciPy的,numpy的和matplotlib的“倒逼内置命令”。 在“首选项 - > PyDev->编辑器 - >代码完成”,“字符的最小数量...”被设定为1,“首选项 - > PyDev->编辑器 - >代码完成(CTX不敏感和令牌)”,“数为...字符”都设置为2。

导入和代码完成IPython的外壳内的作品,所以我觉得这一定有什么东西在PyDev的...

示例代码:

import numpy as np
myArr = np.array([1,2,3])
myArr.set#<hit CTRL-SPACE for completion>

代码完成不提出任何这里的阵列方法(setasflat,setfield,setflags)。

感谢您的任何建议... :)

问候,卡斯滕

Answer 1:

我想这是因为PyDev的无法弄清楚是由返回什么类型np.array方法。 如果你的代码是漫长的,你想代码完成了很多次,也许你可以“告诉”的PyDev是什么myArr,该的类型。 尝试使用assert

import numpy as np
myArr = np.array([1,2,3])
assert isinstance(myArr, np.ndarray)
myArr.set#<hit CTRL-SPACE for completion>

该代码建成后,将永远为工作myArr变量。 稍后,您可以删除或评论断言线或用“O”标志和Python解释器。 看看这个页面。



Answer 2:

只是要注意,在最新版本的PyDev现在你可以让PyDev的了解,通过文档类型(而无需断言isinstance)。

请参阅: http://pydev.org/manual_adv_type_hints.html了解详情。



文章来源: Code-Completion for e.g. Numpy, SciPy or Matplotlib does not work in Eclipse PyDev