远程调试分为两个步骤,第一步需要将远程代码与本地代码进行关联,具体参考课的文档如下
- 菜单->Tools->Deployment->Configuration
打开configuration后如下图:
点击加号后,如下图:
name可以自己定义(以demo为例),type选择sftp
点击确定后,进入demo的设置页面,然后对页面中的项进行设置,如下图:
在①中设置服务器的ip
在②中设置服务器登录的用户名和密码
点击③,进入本地项目与服务器项目的关联设置页面。
点击③后的页面如下:
在a处选择本地的要down代码的一个项目(新建一个空的项目即可);
在b处选择服务器上的python项目目录。
点击本页面的OK按钮就配置好了(到此,configuration配置完成)。
3.从服务器上同步代码,如下图:
右键之前配置的本地空项目,在deployment中可以看到有两项:
选择sync。。。进入同步页面,如下图所示:有个loading显示正在检测的文件。
在提示框的上方有个同步按钮,点击可以将服务器上的代码同步到本地空项目中。
4.开ssh终端,查看及执行命令
如图选择tools→startssh session,弹出选择框,选择刚建的实例demo,就能够看到ssh终端了
参考网址:
第二步需要设置pycharm debug服务器,并在远程服务器上进行debug设置
1. 菜单->run->edits configuration, 添加一个新的python remote debug
local host name 为本地服务器地址,要保证调试目标服务器可以访问本地服务器
2. 启动远程调试服务
菜单->run->debug... 选择我们刚刚创建的remote server
出现如下窗口说明远程调试服务启动成功
3. 在远程服务器上安装远程调试插件
将pycharm安装目录下的 pycharm-debug.egg拷贝到调试目标服务器的python目录下,这里我的服务器路径为/usr/lib/python2.7/dist-packages
执行 sudo easy_install pycharm-debug.egg
4. 在需要调试的代码中加入远程调试所需的代码
import pydevd
pydevd.settrace('10.12.11.118', port=51234, stdoutToServer=True, stderrToServer=True)
以上内容与启动debug server时控制台输出内容一致
5. 在远程服务器上启动需要debug的程序,这时,pycharm中就会进入debug模式,我们就可以进行远程调试了