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

需求二

资深的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的出现,把二者结合了起来。

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

如何正确使用RStudio

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

1. 安装RStudio

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

2. 账号注册

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


  1. adduser FinanceR # 设置新用户名 
  2. passwd FinanceR # 设置该用户的密码 
  3. mkdir /home/FinanceR # 初始化工作空间 
  4. chmod -R FinanceR /home/FinanceR # 给工作空间赋权 

3. 打开编辑器

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

4. 项目管理

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

 

 

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

时间: 2024-08-31 17:23:06

Python 开发者如何正确使用 RStudio 编辑器的相关文章

Python使用 RStudio 编辑器的教程

概述 资深Python工程师可以选择的编辑器有很多,比如 Rodeo , Spider ,Eclipse,Vim,Visual Studio,Atom,Sublime Text,Jupyter等等,但是现在为什么现在很多资深的 Pythoner 都开始拥抱 RStudio 呢?要回答这个问题,首先我们要了解到Python工程师的需求到底是什么? 需求一 资深的Pythoner不依赖于集成开发环境,需要沉浸式编程. 真正的高手往往是不需要交互式编程环境的,他们更倾向于沉浸式编程,这些高手以前往往选

十大妙招可大大节省Python开发者的时间

Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸引程序员的功能 ,它易学,面向对象,字节码编译,免费且开源.还有运行时检查.完整快速的支持,可以执行各种任务的扩展. 高效的Python 在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面.在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里- 1.

这些方法助力Python开发者提高效率

Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python.Python有很多吸引程序员的功能 ,它易学,面向对象,字节码编译,免费且开源.还有运行时检查.完整快速的支持,可以执行各种任务的扩展. 高效的Python 在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面.在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里- 1.

Python 开发者节省时间的 10 个方法

Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸引程序员的功能 ,它易学,面向对象,字节码编译,免费且开源.还有运行时检查.完整快速的支持,可以执行各种任务的扩展. 高效的Python 在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面.在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里...

Python 开发者在迁移到 Go(lang) 时需要知道哪些事?

[编者按]本文最早由 Repustate 发布,主要介绍将代码迁移至 Go(lang) 时的注意事项.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 这是一篇讲述将大块 Python/Cython 代码迁移到 Go 的长文章.如果你想了解整个事情的经过.背景等所有信息,请读下去.如果你只对 Python 开发者需要了解的事感兴趣,请下拉到早该知道的事板块. 背景 我们在 Repustate 最大的技术成果就是实现了阿拉伯语情感分析.阿拉伯语是个难啃的硬骨头,因为阿拉伯语词汇

Python开发者2017应该关注的7个类库

Django 依然是 Python 开发者值得信赖的库.然而,在 2016 年几个还不太知名的库引起了 Python 开发者的关注.在这篇博文中,我向大家揭示 7 个 Python 类库,其中不包括像 Django,Flask 等已广为熟知的库,这些类库在 2017 年可能值得 Python 开发者参考. #1 Arrow 移动应用程序无处不在,而且全球人类都参与其中 – 无论是游戏,社交媒体,健康监控或其他.然而, Python 的标准数据/时间库的问题让它很难满足现代应用的需求,这些应用的目

Python开发者的6个必备库

无论你是正在使用 Python 进行快速开发,还是在为 Python 桌面应用制作原生 UI ,或者是在优化现有的 Python 代码,以下这些 Python 项目都是应该使用的. Python 凭借其易用的特点,已经被工业界和学术界广泛采用.另一方面,Python 丰富的第三方项目--库.附加组件,和辅助的开发成果--使得 Python 语言的应用范围被不断扩大. 其中一些项目,比如 PyInstaller 和 WxPython ,为那些制作桌面应用和终端应用的 Python 开发者提供了便利

Python开发者2017应该关注的七个类库

Django 依然是 Python 开发者值得信赖的库 .然而,在 2016 年几个还不太知名的库引起了 Python 开发者的关注.在这篇博文中,我像大家揭示 7 个 Python 类库,其中不包括像 Django,Flask 等已广为熟知的库,这些类库在 2017 年可能值得 Python 开发者参考. #1 Arrow 移动应用程序无处不在,而且全球人类都参与其中 - 无论是游戏,社交媒体,健康监控或其他.然而, Python 的标准数据/时间库的问题让它很难满足现代应用的需求,这些应用的

Python开发者面向文档编程的正确姿势

概述 秦人不暇自哀,而后人哀之;后人哀之而不鉴之,亦使后人而复哀后人也! –论面向文档编程的重要性 如果想看见识一个人写代码的功力,注释其实是区分老司机和小鲜肉的一个显著的分界线(有没有观察到你们公司的领导基本都在开会或者写文档),通常情况下老司机的文档量与代码量是1:1的比例,而新人往往认为写完功能模块就已经可以完成任务了.生产环境中需要面对现实中大量复杂的业务逻辑和数据校验并与各方对接,文档质量和代码质量就被提升到了相同的高度.很多人没有写注释的习惯,大多数不是因为懒惰,一方面是没有意识到写