配置pycharm同步修改远程服务器代码及使用远程解释器调试
场景:
假设有这样一个场景,在远程服务器部署了一个项目,但是因为代码水平渣渣,需要不断修改和调试,作为一名还没有尝试过其他部署方法的小辣鸡学生,我的解决办法是在本地编写好,再打开shell使用rz命令或者ftp将打包好的代码一番上传,然后解压,然后再执行调试。反反复复如此。我就想:我去,怎么可能个个都像我这么辣鸡,肯定有人解决过这个小问题。一找,哟,原来pycharm已经完美解决支持。
(1)你在本地可以随时双击打开服务器的某个文件进行编辑,编辑完点击upload即可同步更新到服务器的文件中。这其实就意味着你的本地项目跟远程服务器的项目进行了连通。
(2)你可以在本地进行调试,使用的是远程服务器的python解释器,并且在pycharm本地输出结果,这就意味着你不用再打开shell连接服务器,敲命令行调试了。
一、关联远程服务器文件夹
1、首先,假设你有一台这样的远程服务器,你是最大boss(至少有某个目录权限):
ip: 110.110.110.120
用户名: root
密码: 1314sb
然后,你本地有一个项目文件路径为
E:\workspace\python_project\my_project
2、打开pycharm,如下

填写如下信息,可以点击“test sftp connection”测试连通性。

切换到mappings栏设置映射盘关系。为什么这里又有一个映射呢,当你点击项目上传时,会在你映射的根目录(例如我的映射根目录是/home,当你upload本地的这个项目时,就会在/home目录下创建一个wechat_offical这个文件夹,并将项目文件存在这里)

3、点击ok后,再打开如下选项,会在左侧出现remote host 面板,会对应显示/home目录下的文件


4、此时项目右键,上传项目,可以看到,左侧的remote host会显示一个新的文件夹,是如上填写的那个。


5、我们会发现,这时,右侧remote host面板显示的是服务器上的文件,左面板显示的是本地目录的项目文件。你可以双击点击右侧的项目文件,即可编辑,编辑后点击右上角的upload图标,就会同步到服务器。
但是 ,注意!!!!!!!这个时候你修改的是服务器上的文件,是不会保存在本地的

解决办法:
打开本地的test.py文件,编写后,右键upload到服务器,这样本地也保存了,服务器也更新了。

除此之外,你还可以先从服务器download项目下来修改和保存,更多的玩法由你去探索吧。
二、使用服务器的解释器进行调试。
1、既然服务器的项目都拉下来了,还能用服务器的环境进行调试就美滋滋了,答案是肯定的。设置方法就跟往常设置项目环境一样。

如果之前已经配置过,从如下选项自己选一个,否则跳下一步,在回头选择,要不然本地的编辑环境会报错。


然后的一切就由pycharm搞定了。
2、把远程服务器的python运行环境关联到本地项目后,点击运行,会发现,使用的是远程服务器的python解释器,并且可以成功运行。

总结
业余练手的项目,使用这种方法更新服务器的文件,效率会提高不止一丢丢哟。
