Pycharm配置ssh实现在linux server(ubuntu 16.04)上调试和开发(二)

上一篇文章中,我们通过ssh连接Linux server上的python interpreter,实现了本地(win 10环境)Pycharm远程调试Linux环境下python代码的目的1 。最近在玩阿里云Oss的时候发现,发现还有另一种方法可以实现上述目的。尽管实现顺序不同,但两种方法本质上都是通过SFTP+远程pyhton interpreter实现的。

下面介绍第二种方法

1. 配置SFTP

SFTP,即安全文件传输协议( Secure File Transfer Protocol ),利用ssh连接安全的传输文件、遍历本地和远程服务器上的文件系统。在Pycharm上,打开Tools | Deployment | Configuration…,在Deployment中点击左边的“+”添加一个SFTP部署配置,输入名字[email protected]
Pycharm配置ssh实现在linux server(ubuntu 16.04)上调试和开发(二)
接着在Connection标签页中设置Host,User name(root or other users,e.g lollows),Passsword,点击Test Connection测试连接是否有效。
Root path是文件上传的根目录,可以使用Autodect自动填写。建议不要勾选Visible onlyfor this project
Pycharm配置ssh实现在linux server(ubuntu 16.04)上调试和开发(二)
在Mappings标签页填写Local Path(本地工程目录,就是需要将这个目录下的文件夹同步到服务器上面),Deployment path(相对于Connection标签页下的root path,就是将同步本地文件夹到这个目录下),Web path不填。 对于不想同步文件夹,需要在“Excluded path”标签页内添加。
Pycharm配置ssh实现在linux server(ubuntu 16.04)上调试和开发(二)

2. 上传和下载文件

选择 Tools | Deployment |Browse Remote Host,可查看linux server上的文件夹目录。选中要上传的目录,选择 Tools | Deployment | Upload to [email protected]即可上传。下载同样的道理
Pycharm配置ssh实现在linux server(ubuntu 16.04)上调试和开发(二)

3.配置ssh Interpreter

选择本地Project | Setting(CTRL + ALT + S)–>>选择Project Interpreter | Add…
注意:上一篇文章中我们直接在配置ssh Interpreter时选用New server configuration,这会新建一个SFTP配置。不同于上一篇文章,由于前面我们已经配置好了SFTP,故在这里选用Existing server configuration。
Pycharm配置ssh实现在linux server(ubuntu 16.04)上调试和开发(二)
如果前面配置SFTP时勾选了Visible onlyfor this project,这一步会提示如下:大体意思是说Remote SDK需要deployment server保存在IDE settings中,需要我们选择
1.create copy of this deployment server in IDE settings
2.Move this server ti IDE settings。
选1的话,仅deploment server的副本对所有工程可见,选2的话deploment server对所有工程可见。为了方便,我们选择2,这相当于去掉了勾选Visible onlyfor this project
Pycharm配置ssh实现在linux server(ubuntu 16.04)上调试和开发(二)
下面配置interpreter为/home/lollows/anaconda3/bin/python3.7,这里也可以使用conda管理的虚拟环境。
选择Execute code using this interpreter with root privilege via sudo,
设置Sync folders–>>/code 注意:配置SFTP时已经设置Root path=/home/lollows

Pycharm配置ssh实现在linux server(ubuntu 16.04)上调试和开发(二)
注意修改源码或者添加新文件后,要等Pycharm将其自动同步到服务器再继续下一次的调试,等待时间长短受网络和文件大小影响。


  1. 由于某种原因,程序代码必须正式运行在linux服务器上 ↩︎