2016-03-02 58 views
5

我面对现在的问题远程调试:如何PyCharm

  • 我通过SSH
  • 脚本传递一些参数,必须由特定的跑出一个远程主机上部署Python代码用户
  • 我创建的PyCharm运行/调试配置通过SSH通过不同的用户连接(无法与实际运行脚本的用户连接)
  • 我想通过PyCharm远程调试此代码...我设法做所有配置,我只是得到权限错误。

是否有任何方法可以像特定用户(如sudo su - user)一样运行/调试脚本?

我已阅读关于在PyCharm的远程/调试配置中指定一些Python Interpeter选项,但没有设法得到一个工作解决方案。

回答

8

如果你想要一个简单和更灵活的方式来获得进入PyCharm调试,而不一定具有PyCharm一点击“播放”按钮,您可以使用调试服务器功能。我已经在运行一些Python代码的情况下使用它,并不像运行python ...那么简单。

详情请参阅the Remote debug with a Python Debug Server docs,但这里是它如何工作的一个粗略的总结:

  1. 上传&您的服务器上安装远程调试助手鸡蛋(在OSX,这些/Applications/PyCharm.app/Contents/debug-eggs下找到)
  2. 设置远程调试服务器运行配置:点击下拉运行配置菜单,选择Edit configurations...,点击+按钮,选择Python remote debug
    • 这里输入的详细信息(有点令人困惑)告诉运行Python脚本的远程服务器如何连接到笔记本电脑的PyCharm实例。
    • 设置Local host name到你的笔记本电脑的IP地址
    • 设置port来,你可以在笔记本电脑上使用任何空闲端口(例如8888
  3. 现在按照该对话框中的剩余指令:复制粘贴importpydevd.settrace(...)声明到你的代码中,特别是你希望你的代码“击中断点”的地方。这基本上是的PyCharm等价物。确保已更改的代码已同步到您的服务器。
  4. 点击错误按钮(在播放旁边;这将启动PyCharm调试服务器),然后在任何用户,环境等下运行您的Python脚本。当命中断点时,PyCharm应该放入调试模式。
+0

谢谢!但是,我试图设置它,但是,在第2步中,我应该设置远程服务器配置 - 如果通过SSH隧道连接到远程节点,该怎么做?长话短说,发生什么事是,当我运行远程代码使用“python