Pycharm远程调试

2020-03-28
3 min read

IDE:PyCharm 2021.1.3 (Professional Edition) ECS:Ubuntu 16.04.4 LTS

该功能需要专业版PyCharm

利用PyCharm进行远程调试,即利用云服务器端的环境调试本地代码,实现本地开发,Linux云端调试。为了在本地的PyCharm连接上云服务器的环境,首先需要先配置好服务器端的环境。

一. 配置远程连接

1. 进入Pycharm菜单栏,如下图依次点击Tools->Deployment->Configuration…

菜单栏

2. 右侧点击+添加SFTP

3. 设置Name(自己设置)

4. 填写连接配置

  • Host(外网IP)
  • 端口
  • 用户名
  • 密码

填好之后可以测试连接

之后点击Autodetect确定根目录

5. 点击OK结束

二. 配置远程解释器

1. 进入Pycharm菜单栏,如下图依次点击File->Settings…

2. 选择Project->Project Interpreter

3. 点击添加解释器

4. 选择SSH Interpreter->Existing server configuration->刚刚新建的Deployment

5. 选择Move ->Next

6. 设置远端解释器

我在这里设置为虚拟环境中的解释器,是否需要sudo权限根据自己的实际需要

可以看到pycharm在tmp文件夹下新建了pycharm_project_xxx文件夹用于放置本地的同步项目代码

点击Finish结束配置

7. 成功后可以看到环境中的安装的依赖包

点击Apply完成配置

8. 检查Mappings

  • Tools->Deployment->Configuration…
  • 查看之前Deployment的Mappings下的Deployment path

  • 如果没有自动定位可以手动设置

三.远程调试本地代码

Django项目为例

1. 设置ALLOWED_HOSTS

允许所有的host访问

# DataAdmin/settings.py
...
ALLOWED_HOSTS = ["*"]
...

2. 自动同步代码

实际的运行过程是:pycharm将本地代码自动同步到服务器上对应的的tmp/pycharm_projectXXX文件夹中,实际运行时也是运行的服务器端的代码。

  • 可以通过File Transfer查看同步情况

  • 可以通过Tools->Deployment->Browse Remote Host查看服务器端目录结构

3. 调试运行项目

  • Run manage.py->Edit Configurations…

  • 检查Script path是否对应自己的项目地址
  • 添加Parameters:runserver 0.0.0.0:8000
  • Apply->OK
  • Run

打开IP:8000,可以看到自己的网页

四. 远程调试云端代码

1. 连接到服务器Tools->Start SSH session…

2.选择对应的HOST

连接成功后,会有终端显示

3. 显示服务器目录结构Tools->Deployment->Browse Remote Host

选择后会显示出服务器目录结构,选中项目文件能够打开编辑

4. 编辑完成后更新版本

可以设置自动上传更新Tools->Deployment->Automatic Upload

5. 在终端调试运行