在eclipse中远程调试python项目
Posted
技术标签:
【中文标题】在eclipse中远程调试python项目【英文标题】:Remote debugging python project in eclipse 【发布时间】:2017-07-19 06:34:24 【问题描述】:我想调试一个部署在远程机器上的 python 项目。我可以使用.pem
文件通过终端访问该机器。我从内部 gitlab repo 克隆了相同的项目,并在 eclipse 中导入了相同的项目作为PyDev
项目。
在 Eclipse 中,我看到了对 Java 应用程序进行远程调试的选项(运行 -> 调试配置.. -> 远程 Java 应用程序)。但是,我无法为远程 Python 应用程序找到相同的内容。请指导我该怎么做。
提前致谢。
【问题讨论】:
只需要在你的eclipse中安装Pydev,选择你的python解释器并启动一个pydev服务器,在任何一行中停止应用程序放“settrace()”。 【参考方案1】:远程调试在pydev中有点麻烦。
Here是官方的操作手册(特别注意步骤3-4和注1)。
由于您将在与您的 Eclipse 相同的机器上运行调试服务器,您可能需要类似 ngrok 的东西来公开调试服务器端口(并能够从您要调试的应用程序连接到它)。
【讨论】:
【参考方案2】:很久以前我使用 rpdb。 https://pypi.python.org/pypi/rpdb 这个效果很好。
【讨论】:
【参考方案3】:它不是用于 Eclipse,但我可以推荐的最好的远程调试器(和一般调试器)是 pudb,它基本上是带有控制台 UI 的 pdb。
在你的情况下,你需要在运行脚本环境中安装pudb
:
pip install pudb
然后,在脚本本身中,输入:
from pudb.remote import set_trace
set_trace(term_size=(80, 24))
当你的脚本到达这一点时,脚本会打印出类似这样的内容并挂起:
pudb:6899: Please telnet into 127.0.0.1 6899.
pudb:6899: Waiting for client...
然后您需要做的只是 ssh 进入远程系统并使用 telnet:
ssh remote@machine
telnet 127.0.0.1 6899
【讨论】:
以上是关于在eclipse中远程调试python项目的主要内容,如果未能解决你的问题,请参考以下文章
不清楚远程调试使用哪个 Python 版本(Eclipse Pydev)
使用 Eclipse 通过 SSH 在远程服务器上构建和调试项目