我现在面临的问题是:
- 我通过 SSH 在远程主机上部署 Python 代码
- 脚本传递一些参数并且必须由特定用户运行
- 我创建的 PyCharm 运行/调试配置通过不同用户通过 SSH 连接(无法与实际运行脚本的用户连接)
- 我想通过 PyCharm 远程调试此代码...我设法完成所有配置,但只是收到权限错误。
有什么方法可以让我以特定用户身份运行/调试脚本(例如 sudo su - 用户)?
我读过有关在 PyCharm 远程/调试配置中指定一些 Python 解释器选项的信息,但没有设法获得有效的解决方案。
如果您想要一种简单且更灵活的方式进入 PyCharm 调试器,而不必在 PyCharm 中使用一键“播放”按钮,您可以使用调试服务器功能。我在运行某些 Python 代码不像运行那么简单的情况下使用过这个python ...
.
See 使用 Python 调试服务器进行远程调试文档了解更多详细信息,但这里是其工作原理的粗略总结:
- 在您的服务器上上传并安装远程调试助手 Egg(在 OSX 上,这些位于
/Applications/PyCharm.app/Contents/debug-eggs
)
- Setup remote debug server run configuration: click on the drop-down run configuration menu, select
Edit configurations...
, hit the +
button, choose Python remote debug
.
- 此处输入的详细信息(有些令人困惑)告诉运行 Python 脚本的远程服务器如何连接到笔记本电脑的 PyCharm 实例。
- set
Local host name
到您笔记本电脑的IP地址
- set
port
到您可以在笔记本电脑上使用的任何空闲端口(例如8888
)
- 现在按照该对话框中的其余说明进行操作:复制粘贴
import
and pydevd.settrace(...)
语句到您的代码中,特别是您希望代码“命中断点”的地方。这基本上相当于 PyCharm 的import pdb; pdb.set_trace()
。确保更改后的代码已同步到您的服务器。
- 点击 bug 按钮(接下来播放;这将启动 PyCharm 调试服务器),然后像平常一样在任何用户、环境等下运行 Python 脚本。当断点被击中时,PyCharm 应进入调试模式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)