概述

资深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权限)。

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

【编辑推荐】

【责任编辑:枯木 TEL:(010)68476606】

点赞 0

python文本编辑器怎么运行_Python 开发者如何正确使用 RStudio 编辑器相关推荐

  1. python文本分析和提取_python文本分析和提取 Python 文本内容指定字段提取

    使用python对txt文本进行分析和提取 首先,打开计算机上的pycharm编辑器,如下图所示,然后进入下一步. 开学以后,小编没有碰过电脑,第一次,这就说明了开学是多么的可怕 其次,完成上述步骤后 ...

  2. python 文本相似度现状_python文本相似度分析

    如何用python计算文本的相似度 同学欢迎来到CSS布局HTML~文本的相似度计算是NLP(自然语言处理)方向的范畴,感兴趣可以找相关的书籍详细学习研究.同学问的这个问题,可以搜索:python文本 ...

  3. python文本编辑器怎么运行_python程序编辑和运行的几种方法

    初学python的朋友,下载安装了python,如何在环境中编辑和运行python呢?有很多种方法,下面小编来一一进行介绍. 工具/原料 python 方法一:使用windows命令行启动和编辑 1 ...

  4. python 文本框输入提交_python 文本框

    Python学习(28)--tkinter图形界面编程1 Python学习(28)--tkinter图形界面编程1 这一节我们将介绍Python内置的图形界面编程模块tkinter,tkinter是P ...

  5. python输入y继续运行_Python二三事 - 接触Python(x,y)

    注释:本文原来转自博客大巴的一篇文章,向原作者致谢!我也做了相应的修改,更加完善对于Pythonx,y的介绍 Python 二三事 面向初学者介绍Python相关的一些工具,以及可能遇到的常见问题. ...

  6. python文本自动伪原创_Python调用有道智云文本翻译API接口实现“智能”伪原创

    随着人工智能的火热,互联网热门韭菜行业SEO也貌似进入了AI的快车道,尤其以智能伪原创超级热门,你会发现几乎是个seo工具网站都挂着智能伪原创的"狗头"招牌,抱着人无我有,人有我优 ...

  7. python文本txt词频统计_python实例:三国演义TXT文本词频分析

    0x00 前言 找不到要写什么东西了!今天有个潭州大牛讲师  说了个  文本词频分析 我基本上就照抄了一遍 中间遇到一些小小的问题 自我百度 填坑补全了  如下 : 效果演示 0x01   准备环境及 ...

  8. python挂机脚本怎么运行_Python的自动操作(挂机)脚本相关1

    之前用了数个月VBS,受不了啦.听闻.py好使就试试看.  这是用Py的第五天.  爱搬码,非coder.  工具:Python3.4.0 + PyCharm2016 3.2 + PyQt5.4.1  ...

  9. python转golang容易么_Python 开发者在迁移到 Go(lang) 时需要知道哪些事?

    [编者按]本文最早由 Repustate 发布,主要介绍将代码迁移至 Go(lang) 时的注意事项.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 这是一篇讲述将大块 Pyth ...

最新文章

  1. php写实体类,PHP实体类
  2. firebird 3.0 开发者指南_手机端空间级AR交互设计指南
  3. 自平衡二叉树(Self-balancing binary search tree)
  4. jvm监控jstatd使用
  5. UVALive 4394 String painter
  6. rust雪山矿洞几个入口_梅里雪山内转全记录(雨崩徒步:神湖神瀑冰湖)
  7. checkbox:全选与反全选
  8. jmeter - 录制app接口
  9. PHP中判断变量为空的几种方法
  10. COM 组件编程--VC知识库读杨老师文章笔记
  11. 一个移动端的在线五笔输入法
  12. 项目管理中,制定项目进度计划有何意义?
  13. Win10 wifi、蓝牙打不开
  14. 我爱淘二次冲刺阶段4
  15. 数字推理题的解题技巧
  16. Win10系统“此电脑”误删了,或者无缘无故消失了,怎么找回?
  17. Effective TCP/IP Programming读书笔记
  18. bmp180气压传感器工作原理_【科普】40种传感器工作原理
  19. excel求方差和标准差的函数_Excel计算方差和标准差
  20. 面向对象程序设计(c++)面试常问——for考研复试面试

热门文章

  1. 深度解析云安全责任共担模型
  2. python中的注释有哪些符号_python表示注释的符号是什么
  3. 了解前端开发及简单的网页制作h5
  4. tomcat,java,jdk verson match
  5. 双11海报设计者居然不是人!没错,是阿里的AI设计师“鲁班”
  6. gizzard mysql_【MongoDB】在window系统下搭建MongoDB的分片系统(一)
  7. python判断是不是三角形数_python:输入三个数判断是什么三角形
  8. 跨行成为一名程序员必备这5步,从程序员到工程师!
  9. CentOS之——tar.xz结尾的文件的解压方法
  10. 银行中台系统的建设思路