概述高级Python工程师可以选择的编辑器有很多,比如Rodeo、Spider、Eclipse、Vim、VisualStudio、Atom、SublimeText、Jupyter等等,但是为什么会有现在这么多?资深Pythoner开始拥抱RStudio?要回答这个问题,首先要了解Python工程师的需求是什么?要求1.资深Pythoner不依赖集成开发环境,需要沉浸式编程。真正的高手往往不需要交互式编程环境。他们更喜欢沉浸式编程。这些高手过去常常选择Vim或SublimeText等文本编辑器来解决问题。比如过去SublimeText(SublimeText是用Python写的)很流行的时候,很多Python开发者给SublimeText装了几个插件,加了个REPL和代码高亮,就开始干活了。一些刚开始学习Python的同学倾向于使用PyCharm、VisualStudio等集成开发环境来辅助编程。资深Python开发人员认为,过多的智能代码提示会打断他们的思维,提示一些不必要的信息会降低他们的效率。沉浸式编程是最理想的选择,代码本身就有非常强大的反馈机制,加入太多的辅助功能只是画蛇添足。需求二:资深Pythoner,免运维全能战士,需负责服务器。他们喜欢自己拯救世界。从Web开发、自动化测试、自动化运维、爬虫开发、数据仓库、任务调度、机器学习、硬件开发,他们都要自己完成。只开发某个模块是不能满足他们胃口的。是的,永远不会满足于只是在某个环节上做个螺丝钉。由于Python简洁的语法设计,入门门槛很低,这让不同开发领域的高手开始尝试用Python来推倒重来。运维工程师A曾经做了一个docker-py来控制Docker的API,支持服务器上数百个容器的调度和监控;数据工程师B现在使用Airflow来控制ETL流程,以保证每天在Hadoop和Spark的洪流冲击下,数据仓库的治理能够井然有序。Web工程师C还使用Django快速开发面向消费者的网站,以响应每天不断变化的用户需求。爬虫工程师D正在使用Scrapy爬取各大新闻网站和社交媒体的最新资讯,以满足搜索引擎的需求。硬件工程师E使用OpenCV在树莓派上调试了一个人脸检测功能,以较低的成本完成了核心功能的调试。测试工程师F正在使用Selenium对各种客户端进行自动化测试,以检测各种情况下的错误……而且在更多情况下,ABCDEF很可能是同一个人(称为全职工程师)。相比之下,Pythoner只需要一个身临其境的编程环境和一个到服务器的即时管道。然而,SublimeText只满足了第一点;Jupyter只满足第二种。直到RStudio的出现,才把两者结合起来。下面我们来比较一下这三者的异同:如何正确使用RStudioRStudio的使用过程如下:1.在服务器上安装RStudio,使用root账号安装RStudio(并开启8787端口)。如果是多人协作,建议不要使用Docker安装,如果还想的话,这里有相应的教程。2.账号注册设置登录RStudio的账号密码,默认用户目录(建议不要给root权限)。adduserFinanceR#设置新用户名passwdFinanceR#设置用户密码mkdir/home/FinanceR#初始化工作区chmod-RFinanceR/home/FinanceR#授权工作区3、打开编辑器,通过浏览器访问服务器的8787端口:例如123.456.789.1:87874。项目管理点击左上角新建项目按钮,新建一个项目,引入Git或SVN进行版本控制,拉取远程代码。5.新建文件新建一个空文件夹,另存为后缀为.py的文件,提供Python代码高亮,另存为后缀为.sql的文件,提供SQL代码高亮。(也有html,c++可选)6.代码执行通过ctrl+alt+s(source)执行python代码,可以在控制台查看执行结果。7、管理服务器如果需要登录服务器,在菜单栏选择工具-》Shell进入服务器,直接解决深层次问题。8、代码排查当程序出现一些问题,代码有点复杂的时候,可以通过ctrl+shift+f(find)全局搜索你的代码段9、文件搜索其实我们发现有时候是本地csv文件路径错误。如果要在项目中查找文件,可以使用ctrl+shift+。全局搜索文件名(类似于find/|grepfilename)。快捷键、Vim模式、高亮、字体、片段等细节都可以在首选项中设置。我个人更喜欢solarizeddark的深绿色主题。总结一下,一方面,把代码写在服务器上,拉取提交Git/SVN或者直接在服务器上部署Docker镜像,避免Windows/Mac下写的代码无法在服务器上运行的问题server,也就是说,开发环境和测试环境的代码一直和环境保持一致。另一方面,通过WebIDE,您可以在任何浏览器中直接访问服务器站点,无论是ChromeOS、WindowsXP还是RaspberryPi。事实上,RStudio作为我的主力编辑器,取代了90%的Atom、SublimeText、Jupyter等编辑器,现在很多Python工程师都在学习如何使用它。
