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

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

序号 功能 Sublime Text Jupyter RStudio
1 Vim模式 yes no yes
2 自定义布局 yes no yes
3 自定义快捷键 yes no yes
4 文件夹管理 yes yes yes
5 全局搜索 yes no yes
6 函数跳转 yes no yes
7 多行编辑 yes yes yes
8 多格式输出 no yes yes
9 图表输出 no yes yes
10 Markdown预览 yes yes yes
11 Terminal no yes yes
12 版本控制 yes no yes
13 项目管理 yes no yes
14 Spark连接 no yes yes
15 插件系统 yes yes yes
16 Web访问 no yes yes
17 权限管理 no yes yes
18 变量管理 no no yes
19 多语言高亮 yes yes yes
20 集群管理 no yes yes
21 实时保存 yes yes yes
22 多人编辑 no no yes
23 文档发布 yes no yes
如何正确使用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作版本控制,拉取远端代码。


 

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工程师都在学习如何使用它。

时间: 2024-11-08 22:20:05

Python使用 RStudio 编辑器的教程的相关文章

Python的randrange()方法使用教程

 这篇文章主要介绍了Python的randrange()方法使用教程,是Python学习中的基础知识,需要的朋友可以参考下     choice()方法从一个列表,元组或字符串返回一个随机项. 语法 以下是choice()方法的语法: ? 1 choice( seq ) 注意:此函数是无法直接访问的,所以我们需要导入random模块,然后我们需要使用random对象来调用这个函数. 参数 seq -- 这可能是一个列表,元组或字符串... 返回值 该方法返回一个随机项. 例子 下面的例子显示了c

python MySQLdb Windows下安装教程及问题解决方法

  这篇文章主要介绍了python MySQLdb Windows下安装教程及问题解决方法,本文讲解了安装数据库mysql.安装MySQLdb等步骤,需要的朋友可以参考下 使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://www.jb51.net/article/65743.htm ----------------------------------------------------------

百度UEditor编辑器使用教程与使用方法(图文)_网页编辑器

我们在做网站的时候,网站后台系统一般都会用到web编辑器,今天笔者就给大家推荐一款百度UEditor编辑器.关于这款百度UEditor编辑器官网上也有简单的教程,不过看着比较费劲,今天笔者就跟大家分享一下百度UEditor编辑器使用教程与使用方法,希望对大家有所帮助. 第一:百度UEditor编辑器的官方下载地址 ueditor 官方地址:http://ueditor.baidu.com/website/index.html 开发文档地址:http://ueditor.baidu.com/web

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

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

Python程序语言快速上手教程_python

本来打算从网上找一篇入门教程,但因为Python很少是程序员的第一次接触程序所学的语言,所以网上现有的教程多不是很基础,还是决定自己写下这些. 如果没有程序基础的话,可能会觉得本文涵盖的内容有点多.对照大学里面常教的C语言的教学速度,本文大约有四五个课时的内容:对照网上程序类的视频 教程,大致相当于两三个小时的内容:对于翻一本程序书籍,大约相当于翻一个小时书.也因此,如果有深入学习的打算的话,为了效率还是推荐看书. 如果暂时不能理解本文中的一些内容也没关系,因为都是一些经常会用到的基础知识,在实

Python实现SMTP发送邮件详细教程_python

简介 Python发送邮件的教程本人在网站搜索的时候搜索出来了一大堆,但是都是说了一大堆原理然后就推出了实现代码,我测试用给出的代码进行发送邮件时都不成功,后面找了很久才找到原因,这都是没有一个详细的环境调试导致,所以今天特出一个详细的教程,一步一步从环境调试到代码实现整一个教程,希望对还在苦苦寻找解决方法却迟迟不能得到有效解决的人员一点帮助. SMTP协议 首先了解SMTP(简单邮件传输协议),邮件传送代理程序使用SMTP协议来发送电邮到接收者的邮件服务器.SMTP协议只能用来发送邮件,不能用

在Docker上部署Python的Flask框架的教程_python

本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法.虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序).Docker通过封装依赖项,大大减少了开发环境和正式产品的差距. 大多数Python开发人员在开发中使用virtualenv.它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(尤其是不同的Pyhton版本,还有不同

Python程序语言快速上手教程

本文是面向SEO人群的Python程序语言入门教程,也适用于其他没有程序基础但想学习些程序,以解决简单的实际应用需求的人群.在后面会尽量用最基础的角度来介绍这门语言. 本来打算从网上找一篇入门教程,但因为Python很少是程序员的第一次接触程序所学的语言,所以网上现有的教程多不是很基础,还是决定自己写下这些. 如果没有程序基础的话,可能会觉得本文涵盖的内容有点多.对照大学里面常教的C语言的教学速度,本文大约有四五个课时的内容:对照网上程序类的视频 教程,大致相当于两三个小时的内容:对于翻一本程序

96微信编辑器使用教程

  使用教程 1.选择合适的样式,点击左边模板,将自动添加到右侧编辑区,之后修改文本和颜色(部分元素不能更改); 2.全部修改完成后,右侧编辑框中内容ctrl+a复制全部,最后复制到微信官方公众帐号平台发布文章编辑器中即可; 注意:视频上传 图片上传 音乐上传 需要到官方平台内上传,本编辑器只可调用远程数据(就是网上已经存在的) 小技巧,编辑器里的橡皮标志是去除格式,这个功能很方便一些编辑错误的删除修改.