首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse PyDev完成挂起(再次)

Eclipse PyDev完成挂起(再次)
EN

Stack Overflow用户
提问于 2011-09-18 18:59:13
回答 3查看 5.3K关注 0票数 8

我在Eclipse中使用PyDev作为我的Python编辑器。就功能集而言,这是很好的。一切都很好,除了一件非常烦人的事情:

代码完成本身工作速度很快。当我按下Alt+Space时,窗口几乎立即弹出,所有选项都在那里。选择顶部的选项。然后来了麻烦,。详细的描述要到5-10秒后才会出现。所有这些时间,CPU在最大负载下工作,接口没有响应。所有处理器都由Eclipse进程使用(派生的Python进程似乎是空闲的)。然后弹出一个黄色窗口,它所包含的只是所选函数/变量的Python代码。所有连续的细节都会立即显示。当我关闭完成窗口时,该过程会重复(例如,接受其中一个选项并再次请求完成)。这把我逼疯了。

我已经试过了:

  • 创建一个全新的工作区,
  • 从头开始创建

/PyDev项目,

  • 对JVM进行调整以确保它有负载的内存,
  • 确保选择正确的JVM (最新的Oracle可用),

H 111确保进程与Java实例自由通信(我读到了这方面可能出现的问题,但似乎不是

  • 确保所有已安装的插件都是最新的。H 214F 215

我使用的版本是Eclipse,因为上次我检查某些扩展时还没有移植到最新的扩展。

有没有人注意到类似的问题?有人能绕过它吗?关于如何调试它并可能提交合理的bug报告的一般想法?其他值得检查的东西。

有什么解决办法比完全关闭完工更不激烈吗?

谢谢!

编辑:

我还注意到HTML/CSS编辑器中类似的弹出窗口存在一个问题。它看起来有点相似(一个黄色的窗口,里面有一些文本),它也花了很长时间才能显示出来。不知道这是否相关,但有可能是。

编辑(2):

好的,不,我已经开始了最新的Eclipse的新安装,除了PyDev之外没有任何额外的插件,问题仍然存在。看来我得去找一个新的IDE了。

EN

回答 3

Stack Overflow用户

发布于 2013-01-08 05:57:35

您使用的是什么版本的Java?

如果您使用的是Windows 7,则后期版本的Java (我认为是6+)将默认为IPv6。这可能是导致问题的原因,因为Python可能需要IPv4。

总之,由于我有这个问题,我试着禁用

  • PyLint
  • Code分析

但它还挂着呢。

Pal关于"ipv4利用率“的回答激发了我对另一个问题的记忆,这个问题是我通过”偏爱“IPv4解决的。

请参阅http://docs.oracle.com/javase/1.4.2/docs/guide/net/ipv6_guide/

您要做的是编辑您的eclipse.ini并在vmargs部分中添加"-Djava.net.preferIPv4Stack=true“。

代码语言:javascript
复制
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
...
-vmargs
-...
-Djava.net.preferIPv4Stack=true
...

我不再被绞死了。

票数 3
EN

Stack Overflow用户

发布于 2011-09-19 10:40:07

您是否有可能提供使这种情况发生的代码(并将其添加到bug报告(参见:http://pydev.org/about.html获取链接)?

我每天在一些非常大的项目中使用PyDev,并且没有这个问题,所以,这可能是代码中的一些特定的构造或场景--或者您只是没有给Eclipse足够的内存(这会使垃圾收集器工作得更多),在这种情况下,请看一下:What are the best JVM settings for Eclipse? (具体地说,提高您的-Xmx标志,尽管您可能也可以在那里使用其他提示)。

如果您不能提供一个可重复的场景,另一个选择是获得一个分析器(即: YourKit java分析器有15天的免费时间,在本例中将有帮助),在分析器中运行该用例并传递在这种情况下正在发生的事情的快照(如果是这样的话,请在pydev.org上打开一个bug报告,我可以帮助您)。

票数 0
EN

Stack Overflow用户

发布于 2012-07-30 18:05:34

我从pydev.org常见问题中得到了这个,它对我来说很好。

当我完成代码时,PyDev挂起,我能做什么?

PyDev在java端完成了大部分工作,但是一些信息只能从python端(主要是内置的)获得,因此,为了获取这些信息,PyDev创建了一个shell并通过套接字与它进行通信。

发生这种情况的主要问题是:

  1. 在Linux中有防火墙阻止与shell
  2. 的通信,一些内核不允许ipv4的使用,这可能导致PyDev失败。

要启用它,do: echo 0>/proc/sys/net/ipv6 6/bindv6only 6。

  1. 连接的超时太少了。

它依赖于代码完成首选项(窗口>首选项> PyDev >代码完成)中的“连接到shell的超时”。

如果没有工作,请报告一个错误(另外,检查错误日志(窗口>显示视图> PDE运行时>错误日志)和eclipse '. log ',它位于工作区位置的.metadata文件夹上是否有任何错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7463691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档