資深Python工程師能夠選擇的編輯器有不少,好比 Rodeo,Spider,Eclipse,Vim,Visual Studio,Atom,Sublime Text,Jupyter等等,可是如今爲何如今不少資深的 pythonista 都開始擁抱 RStudio 呢?要回答這個問題,首先咱們要了解到Python工程師的需求究竟是什麼?html
資深的pythonista不依賴於集成開發環境,須要沉浸式編程。
真正的高手每每是不須要交互式編程環境的,他們更傾向於沉浸式編程,這些高手之前每每選擇Vim或者Sublime Text這樣的文本編輯器來解決問題。好比之前Sublime Text(Sublime Text是用Python寫的)很火爆的時候,不少Python開發者都是Sublime Text安裝幾個插件,加一個REPL和代碼高亮就開始幹活了。而一些剛剛開始學習 Python 的同窗則傾向於使用諸如 PyCharm,Visual Studio 這樣的集成開發環境來輔助編程。python
資深的Python開發者認爲,過多的代碼智能提示會打斷本身的思路,提示一些並不須要的信息反而會下降本身的效率,沉浸式編程纔是最理想的選擇,代碼自己就擁有很強大的反饋機制,加入過多的輔助功能只是多此一舉而已。c++
資深的pythonista是免運維的全能戰士,須要掌管服務器。
他們喜歡一我的拯救世界,從Web開發、自動化測試、自動化運維、爬蟲開發、數據倉庫、任務調度、機器學習、硬件開發所有都要本身獨立完成,只單單開發某一個模塊是無法知足胃口的,也永遠不會甘於只作某個環節上的螺絲釘。Python 由於自己簡潔的語法設計使得入門的門檻很是之低,這使得本來從事不一樣開發領域的專家都開始嘗試使用Python來再造輪子。git
運維工程師 A 曾經作了一個 docker-py 來控制 Docker 的API,以支撐服務器上數百個容器的調度與監控;數據工程師 B 如今用 Airflow 來控制 ETL 的流程以保證天天在Hadoop和Spark的洪荒之力的衝擊下,數據倉庫的治理可以有條不紊。Web工程師 C 也用過 Django 快速開發面向消費者的網站以響應一日三變的用戶需求。爬蟲工程師 D 在用 Scrapy 爬取各大新聞網站和社交媒體的最新資訊以知足搜索引擎的需求。硬件工程師 E 在樹莓派上用OpenCV來調試一我的臉檢測的功能,以較低的成本完成核心功能的調試。測試工程師 F 正在用 Selenium 對各類客戶端進行自動化測試來檢測各類狀況下的Bug ... 而在更多的狀況下,ABCDEF 頗有可能就是同一我的(被稱爲全佔工程師)。github
其實,pythonista只須要一個沉浸式的編程環境和一個即時通向服務器的管道。sql
然而,Sublime Text 只知足了第一點;Jupyter 只知足了第二點。直到 RStudio的出現,把兩者結合了起來。docker
下面咱們對比一下這三者的異同:編程
序號 | 功能 | 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的流程是這樣的:segmentfault
在服務器上使用root帳戶安裝 RStudio(並打開8787端口),若是有多人協同建議不要用 Docker 安裝,若是你依然想要,這裏有相應的教程。瀏覽器
設置登陸RStudio登陸的帳號密碼,以及默認的用戶目錄(建議不要給到root權限)。
adduser FinanceR # 設置新用戶名 passwd FinanceR # 設置該用戶的密碼 mkdir /home/FinanceR # 初始化工做空間 chmod -R FinanceR /home/FinanceR # 給工做空間賦權
經過瀏覽器訪問服務器的8787端口:e.g.123.456.789.1:8787
點擊左上角新建項目按鈕,新建一個 Project 並引入Git或SVN做版本控制,拉取遠端代碼。
新建一個空文件夾保存爲.py後綴文件將提供Python代碼高亮,保存爲.sql後綴將提供SQL代碼高亮。(還有html,c++可選)
經過 ctrl + alt + s(source)
執行python代碼,在console中能夠查看執行結果。
若是須要登陸服務器,在菜單欄中選擇Tool-》Shell便可進入服務器端直接解決深層次問題。
當程序出現一些問題,在代碼有點複雜的時候,經過ctrl + shift + f(find)
能夠全局搜索你的代碼段
事實上,咱們你發現有時候是本地的csv文件路徑弄錯了, 想要找到項目中某個文件,能夠經過ctrl + shift + .
來全局檢索文件名(相似 find /|grep 文件名
)
感受默認的偏好設置不知足我的胃口,在偏好設置中能夠設置快捷鍵、Vim模式、高亮、字體、snippet等等細節。我我的偏好solarized dark
的深綠色主題。
一方面,在服務器上寫好代碼,直接在服務器上拉取提交Git/SVN或者部署Docker鏡像,這樣就避免了在Windows/Mac下寫的代碼在服務器上跑不通的問題,也就是說開發環境和測試環境的代碼與環境始終保持了一致性。另外一方面,經過Web IDE在任何一個瀏覽器中就能夠直接前往服務器現場,不管是一臺Chrome OS、 Windows XP 甚至是樹莓派。事實上,RStudio做爲個人主力編輯器90%取代了Atom、Sublime Text、Jupyter等等編輯器,如今好多Python工程師都在學習如何使用它。
]
更優閱讀體驗可直接訪問原文地址: https://segmentfault.com/a/11...
做爲分享主義者(sharism),本人全部互聯網發佈的圖文均聽從CC版權,轉載請保留做者信息並註明做者 Harry Zhu 的 FinanceR專欄: https://segmentfault.com/blog...,若是涉及源代碼請註明GitHub地址: https://github.com/harryprince。微信號: harryzhustudio 商業使用請聯繫做者。