答案 0 :(得分:1)
PyDev启动Python实例以帮助生成代码完成建议。偏好控制PyDev在放弃之前等待来自子Python进程的连接的时间。
PyDev(在Java中)启动Python。在Java端创建一个套接字服务器,子Python进程有一个命令行参数来指示要连接回的端口。然后PyDev等待Python进程连接到服务器。首选项控制套接字建立连接的时间。通常它会少于1秒。
如果你检查eclipse进程树,你会看到一个eclipse的子进程(或者java,取决于你的JVM的设置方式),如果一切正常,看起来有点像这样。这个过程正在与之沟通。
<path to>\python.exe -u <path to>\org.python.pydev_<version>\pysrc\pycompletionserver.py <port number>
如果您想深入了解问题,请在Line 303 of AbstractShell.java上将变量maxAttempts
设置为首选项值。如果您遵循该逻辑,您将看到PyDev是否无法通过套接字建立通信,因为它将破坏已启动的Python进程。