天天看点

Python 开发者如何正确使用 RStudio 编辑器

概述

资深python工程师可以选择的编辑器有很多,比如 rodeo,spider,eclipse,vim,visual

studio,atom,sublime text,jupyter等等,但是现在为什么现在很多资深的 pythoner 都开始拥抱

rstudio 呢?要回答这个问题,首先我们要了解到python工程师的需求到底是什么?

需求一

资深的pythoner不依赖于集成开发环境,需要沉浸式编程。

真正的高手往往是不需要交互式编程环境的,他们更倾向于沉浸式编程,这些高手以前往往选择vim或者sublime

text这样的文本编辑器来解决问题。比如以前sublime text(sublime

text是用python写的)很火爆的时候,很多python开发者都是sublime

text安装几个插件,加一个repl和代码高亮就开始干活了。而一些刚刚开始学习 python 的同学则倾向于使用诸如

pycharm,visual studio 这样的集成开发环境来辅助编程。

资深的python开发者认为,过多的代码智能提示会打断自己的思路,提示一些并不需要的信息反而会降低自己的效率,沉浸式编程才是最理想的选择,代码本身就拥有很强大的反馈机制,加入过多的辅助功能只是画蛇添足而已。

Python 开发者如何正确使用 RStudio 编辑器

需求二

资深的pythoner是免运维的全能战士,需要掌管服务器。

他们喜欢一个人拯救世界,从web开发、自动化测试、自动化运维、爬虫开发、数据仓库、任务调度、机器学习、硬件开发全部都要自己独立完成,只单单开发某一个模块是没法满足胃口的,也永远不会甘于只做某个环节上的螺丝钉。python

因为本身简洁的语法设计使得入门的门槛非常之低,这使得原本从事不同开发领域的专家都开始尝试使用python来再造轮子。

运维工程师 a 曾经做了一个 docker-py 来控制 docker 的api,以支撑服务器上数百个容器的调度与监控;数据工程师 b

现在用 airflow 来控制 etl 的流程以保证每天在hadoop和spark的洪荒之力的冲击下,数据仓库的治理能够有条不紊。web工程师

c 也用过 django 快速开发面向消费者的网站以响应一日三变的用户需求。爬虫工程师 d 在用 scrapy

爬取各大新闻网站和社交媒体的最新资讯以满足搜索引擎的需求。硬件工程师 e

在树莓派上用opencv来调试一个人脸检测的功能,以较低的成本完成核心功能的调试。测试工程师 f 正在用 selenium

对各种客户端进行自动化测试来检测各种情况下的bug ... 而在更多的情况下,abcdef 很有可能就是同一个人(被称为全占工程师)。

对比

其实,pythoner只需要一个沉浸式的编程环境和一个即时通向服务器的管道。

然而,sublime text 只满足了第一点;jupyter 只满足了第二点。直到 rstudio的出现,把二者结合了起来。

下面我们对比一下这三者的异同:

Python 开发者如何正确使用 RStudio 编辑器

如何正确使用rstudio

正确使用rstudio的流程是这样的:

1. 安装rstudio

在服务器上使用root账户安装 rstudio(并打开8787端口),如果有多人协同建议不要用 docker 安装,如果你依然想要,这里有相应的教程。

2. 账号注册

设置登录rstudio登录的账号密码,以及默认的用户目录(建议不要给到root权限)。

adduser financer # 设置新用户名 

passwd financer # 设置该用户的密码 

mkdir /home/financer # 初始化工作空间 

chmod -r financer /home/financer # 给工作空间赋权 

3. 打开编辑器

通过浏览器访问服务器的8787端口:e.g.123.456.789.1:8787

4. 项目管理

点击左上角新建项目按钮,新建一个 project 并引入git或svn作版本控制,拉取远端代码。

Python 开发者如何正确使用 RStudio 编辑器
Python 开发者如何正确使用 RStudio 编辑器
Python 开发者如何正确使用 RStudio 编辑器

5. 新建文件

新建一个空文件夹保存为.py后缀文件将提供python代码高亮,保存为.sql后缀将提供sql代码高亮。(还有html,c++可选)

6. 代码执行

通过 ctrl + alt + s(source) 执行python代码,在console中可以查看执行结果。

7. 掌管服务器

如果需要登录服务器,在菜单栏中选择tool-》shell即可进入服务器端直接解决深层次问题。

8. 代码排查

当程序出现一些问题,在代码有点复杂的时候,通过ctrl + shift + f(find)可以全局搜索你的代码段

9. 文件搜索

事实上,我们你发现有时候是本地的csv文件路径弄错了, 想要找到项目中某个文件,可以通过ctrl + shift + . 来全局检索文件名(类似 find /|grep 文件名)

10. 偏好设置

感觉默认的偏好设置不满足个人胃口,在偏好设置中可以设置快捷键、vim模式、高亮、字体、snippet等等细节。我个人偏好solarized dark的深绿色主题。

总结

一方面,在服务器上写好代码,直接在服务器上拉取提交git/svn或者部署docker镜像,这样就避免了在windows/mac下写的代码在服务器上跑不通的问题,也就是说开发环境和测试环境的代码与环境始终保持了一致性。另一方面,通过web

ide在任何一个浏览器中就可以直接前往服务器现场,不论是一台chrome os、 windows xp

甚至是树莓派。事实上,rstudio作为我的主力编辑器90%取代了atom、sublime

text、jupyter等等编辑器,现在好多python工程师都在学习如何使用它。

作者:harryzhu

来源:51cto