前言
本次咱们来操作一下如何在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就直接同步到服务器上了,不需要在通过传文件什么的繁琐操作