前言

本次咱们来操作一下如何在Pycharm上,使用远程服务器上的Python环境。

为什么这样做?

这个要从我的一次经历说起,有一次我帮朋友爬取一些东西,由于类别不同,分了几次爬取,这一次我写好规则之后,依然正常爬取,由于我本人比较善良,加上数据量目测并不是太多,并没有使用代理ip,并且将scpay的速度控制的比较慢,一般爬取时,一般也就几分钟而已,泡一杯咖啡喝几口就完了。

但是,但是,凡事都有可能例外,这一次,我都喝了几杯咖啡了,竟然还没完,!!!,然后我看了看,数据,发现这个我错了,这个类别很全,还很多,至少是原来的好几倍,这...,我也总不能停了吧,并且快了也会封我ip,然后我就依然等着,等...等啊等,登录一个多小时,终于完了....

后来我就想到了一个问题,如果代码能直接运行在远程服务器上就好了,写完代码扔到远程服务器上就好了,随便运行。

我的环境

滴滴云 ubuntu 18.04版本,已经安装好Anoconda pycharm2019 专业版

注:

  • pycharm一定要专业版,只有专业版才有远程连接python环境功能

  • linux上尽量使用Anoconda创建环境,避免和原系统pip产生冲突,避免寻找麻烦。

步骤

配置远程服务器信息

打开pycharm,点击Tools ---> Deployment ---> configuration

 

依次点击左上角+ --> SFTP


给自己远程环境起个名字

 

配置远程服务器参数,如图所示

配置Connection

配置Mappings,配置好之后,选择ok


在pycharm上查看服务器上文件Tools --> deployment --> Browse Remote Host


一定要勾选自动上传Tools --> deployment --> Automatic Upload


配置远程python解释器

上述我们只是配置了远程服务器信息,但是并没有让pycharm指定python解释器

打开解释器选项File --> settings --> Project:项目名--> projectInterpreter


添加解释器

 

选择SSH interpreter,配置服务器信息,Next

 

用户密码,,然后点击Next

 

选择服务器上Python解释器的位置,,然后点击Finish


指定解释器为远程解释器,,然后点击Apply,ok


将文件同步到服务器上

 

默认会将本地整个项目同步到服务器的/tmp目录下


crtl+s,将代码自动同步到服务器上

上述都配置完以后,你可能会发现,每次写完代码之后,似乎远程那端是不会同步代码的,我们需要设置一下,按crtl+s就可以自动将代码同步到服务器上,每次在服务器上运行的代码也是最新代码

点击Tools --> deployment -->Options


配置如图,红圈部分一定要配置一样的,然后点击ok


适用场景

适用场景一般是爬虫类,或者需要长时间处理某个任务之类的,毕竟我写一个爬虫不可能配置一个docker吧。

或者说我就写了一个小爬虫,每天爬一些笑话发给我的女神,直接运行在服务器上,或者开发完之后,crtl+s就直接同步到服务器上了,不需要在通过传文件什么的繁琐操作