如何调试远程python脚本?
Posted
技术标签:
【中文标题】如何调试远程python脚本?【英文标题】:How to debug remote python script? 【发布时间】:2017-03-27 22:19:26 【问题描述】:我正在寻找一种方法来调试远程 python 脚本,而无需像the answer here 中那样进行任何设置
我设置了远程解释器,设置了调试配置,点击调试按钮,得到错误Event not found
:
ssh://myuser@my_ip:my_port/usr/local/bin/python -u /myuser/.pycharm_helpers/pydev/pydevd.py --multiproc --qt-support --client '0.0.0.0' --port 46994 --file /opt/my_work_dir/my_script.py
/: Event not found.
似乎 pyCharm 会处理所有调试设置 --multiproc --qt-support --client '0.0.0.0' --port 46994
,但我的配置有误。
有没有办法在不使用pydevd.settrace('host', port=21000, stdoutToServer=True, stderrToServer=True)
和其他操作的情况下调试python 脚本?
【问题讨论】:
您解决了这个问题吗?我有类似的错误 【参考方案1】:我经常将 vagrant 与 pycharm 一起使用,只要我将解释器设置为运行在 vagrant 框内的解释器,调试对我来说一直很有效。
如果您转到设置->项目->项目解释器,然后设置与远程解释器的连接,它通常会安装 pycharm-debug.egg 等,您可以针对此解释器调试运行项目并在 pycharm 中设置断点它会打破那些。
这是他们关于设置的文档https://www.jetbrains.com/help/pycharm/2016.1/configuring-remote-python-interpreters.html
【讨论】:
【参考方案2】:我按照
部分所述设置了远程调试使用远程解释器进行远程调试
(不是服务器!!)而且效果很好。
这里是链接:https://www.jetbrains.com/help/pycharm/2016.1/remote-debugging.html
你只需要设置remote interpreter(我使用ssh)然后设置你的运行配置。如果您需要进一步的帮助,请告诉我。
这是我在 PyCharm 中的运行配置:
【讨论】:
是的,这就是问题所在。我已经设置了一个远程解释器,当我运行调试配置时,我得到了 Event not found。 您正在尝试在远程服务器上调试一些 python 代码,对吧?那么,我的回答对你有帮助吗? 不,你的回答没有帮助,因为在我的问题中你可以看到:I use remove python interpreter(it mean ssh) 好吧,我不知道 remove python 解释器到底是什么意思。我在 PyCharm 中看不到这个选项。你为什么要那样做?为什么不使用 SSH?我用我的运行配置更新了我的答案。这可能有帮助吗?【参考方案3】:我可以通过重新安装 PyCharm 来解决这个问题。 (#1 和 5 是可选的)
-
导出要恢复的最低设置,例如键盘映射(文件 > 导出设置)
卸载当前的 PyCharm
安装新的 PyCharm
启动新的 PyCharm 并且在第一次启动时不要导入预先存在的设置
从旧的 PyCharm 导入您的设置(文件 > 导入设置)
我猜这发生在一些与环境相关的设置被搞砸时。 请注意,您需要记住远程解释器的设置,因为它会在重新安装时消失。
【讨论】:
【参考方案4】:这可能与this 相同。如果您使用 csh 或 tcsh 等其他 shell,请使用 bash 作为登录 shell。
【讨论】:
以上是关于如何调试远程python脚本?的主要内容,如果未能解决你的问题,请参考以下文章