背景:

一般情况下,我们开发调试都是在个人PC上完成,遇到问题,开一下 Pycharm 的调试器,很快就能找到问题所在。
可有些时候,项目代码的运行会对运行环境有依赖,必须在部署了相关依赖组件的服务器上才可以运行,这就直接导致了我们不能在本地进行调试。
而服务器有时候调试又不太方便,所以这篇文档,讲了如何用pycharm远程同步linux,以及在在 PC 上用 PyCharm 的图形化界面来进行调试远方服务器上代码,
优点:让在服务器调试和本地调试没有太大的区别,原来怎么调试的现在还是怎么调试。
区别就在于,本地调试不需要事先配置,只要你的代码准备好了,随时可以开始 Debug ,而远程调试呢,需要不少前置步骤,这也正是本篇文章的内容,教你如何配置远程调试环境。


有两个方案,一个是自己的pycharm远程配置

另一个是实现团队同步协作的方法,团队同步协作会用到方案一的一些知识。

方案一:

1、新建一个项目

首先,要在Pycharm中新建一个空的项目,后面我们拉服务器上的项目代码就会放置在这个项目目录下。

我这边的名字是 D:\slns,你可以自己定义。

image.png

2、服务器账号填写

2.1、tools->configuation->development

image.png

2.2、设置链接到服务器上,点击…填写服务器账号、密码链接等

image.png

2.3、点击+号,填写host,端口号,账号、 密码等。

填写完可以点击text_connection测试是否成功链接
做完这一步就成功与服务器链接
image.png

  • host:服务器ip
  • Port:服务器开放的ssh端口
  • Username:你登陆服务器所用的用户
  • Auth type:登陆类型,若用密码登陆的就是Password
  • Password:选密码登陆后,这边输入你的登陆密码,可以选择保存密码。

    3、服务器文件的同步

    点击mapping,也就是映射的意思。
    作用是:实现本地文件和服务器文件同步映射的功能
    image.png

image.png

4、远程链接服务器

tools->development->browse remote host
注意:点击automatic upload(always):这一步的意思是,每次本地做的修改,会自动同步到服务器上面,不打勾不同步!

image.png

5、下载项目代码

前面都做的对,会弹出服务器的目录结构

注意:点击下载你的文件,第三步填写的服务器文件夹要对应的上

pycharm远程同步linux以及团队协作 - 图8
pycharm远程同步linux以及团队协作 - 图9

6、远程解释器映射

目的:这一步是为了实现与服务器解释器的映射,也就是能够使用服务器的解释器。

6.1、file->setting->python Interpreter

image.png

6.2、同样,先做服务器的链接

image.png

  • host:ip
  • port:端口号
  • username:你的服务器账号

接着写next,填写密码

image.png

6.3、查找服务器的解释器位置

红框中是让你填写服务器的中解释器的位置,这时候需要回到服务器
image.png
回到服务器

  1. #1、先输入python,进入python交互环境
  2. python
  3. #2、import sys,执行sys.executable,这一步是为了获取解释器的位置
  4. import sys
  5. sys.executable
  6. #3、复制解释器的位置,如下图所示,我的解释器是在/home/wengkangming/anaconda3/bin/python的位置,填回pycharm

image.png
image.png

7、检查解释器有没有文件同步

这一步等同于第三步,
解释器需要文件的同步才能正确执行。
一般第二步设置成功会给一个默认的映射路径。
image.png

注意:偶尔映射路径会丢失的可能,需要手动设置。如果没有设置或者设置错误,解释器会提示No such file or directory

错误示例

image.png
这里随便映射了C盘,C盘下文件无法与slns一一对应,会提示No such file or directory

1号框是解释器的位置
2号框是映射错了,所以解释器没法一一对应找到文件或者目录

image.png

正确示例:

image.png

8、配置文件

在你的程序入口文件处,点击右键,选择Debug即可。
如果你的程序入口,需要引入参数,这是经常有的事,可以的这里配置。
image.png

点击+号,配置一个参数
image.png

这样就可以直接点击run在本地运行代码了。

引用:

方案一参考了链接,这是pycharm的中文指南,可以打印出来当作一本书,有兴趣的同学也可以读一下,毕竟软件都是大同小异

方案二:

方案二涉及到坚果云同步,

原理

原理如下图,是由坚果云同步文件,本地利用pycharm调用服务器的解释器

pycharm远程同步linux以及团队协作 - 图22

1、下载坚果云,坚果云实现团队文件同步

这一步会同步团队内大家的代码,实现协同合作
团队成员只在这里面改动代码
slns下会有detectron、xlpr、xllib三个项目
image.png

2、服务器配置软连接

服务器建立软链接,到服务器坤泽账号的项目下面

  1. #命令
  2. ln -s [原文件或目录] [软链接名] (功能描述: 给原文件创建一个软链接)
  3. #例子
  4. ln -s /home/kunze/xlpr /home/wengkangming/slns/xlpr
  5. ln -s /home/kunze/detectron /home/wengkangming/slns/detectron

服务器上的同样有detectron、xlpr、xllib三个项目
image.png

符号链接参考资料:符号链接 · 语雀

3、建立服务器链接和文件同步

详情见方案一的2、3、4(这一步不用跟5一样从服务器下载代码下来,本地坚果云已有)
image.png

image.png

4、配置好解释器,实现对服务器解释器的调用

详见方案一第6步
image.png

这样就可以实现在本地写代码,由坚果云同步团队代码
调用远程服务器