第4章 樹莓派遠(yuǎn)程開發(fā)Python程序(Pycharm)

?  開發(fā)軟件一般需要一個程序運行環(huán)境和一個集成開發(fā)環(huán)境(Integrated Development Environment,IDE)。Raspbian系統(tǒng)默認(rèn)已經(jīng)提供了Python 2和Python 3的運行環(huán)境,選擇一款優(yōu)秀的IDE,并采用合適的開發(fā)方法將有助于提高開發(fā)效率。本章將介紹一種Windows下遠(yuǎn)程開發(fā)樹莓派程序的方法,主要內(nèi)容如下:

  • 介紹在本地和遠(yuǎn)程開發(fā)樹莓派程序的兩種思路。
  • 介紹在Windows上使用Pycharm遠(yuǎn)程開發(fā)樹莓派程序的方法。

4.1 兩種開發(fā)思路

  • 本地開發(fā)
    ?  本地開發(fā)是指在樹莓派上安裝和使用IDE(或文本編輯器)進(jìn)行程序編寫、調(diào)試和運行。如果樹莓派已經(jīng)連接上顯示器、鼠標(biāo)、鍵盤等I/O設(shè)備,那么就可以和使用普通PC一樣進(jìn)行程序開發(fā)。如果沒有連接顯示器等I/O設(shè)備,可以使用SSH或VNC遠(yuǎn)程登錄到樹莓派編寫程序。對于第二種方法,雖然是遠(yuǎn)程登錄到樹莓派,但由于開發(fā)環(huán)境和代碼等都保存在樹莓派上,所以我們?nèi)匀豢梢哉J(rèn)為是在樹莓派本地進(jìn)行開發(fā)。
    ?  本地開發(fā)的優(yōu)勢是簡單,不需要太多的配置就可以進(jìn)行程序開發(fā)。其劣勢也是非常明顯的,最主要的問題是樹莓派本身的性能相對有限,而現(xiàn)代IDE對性能的要求較高,直接在樹莓派上進(jìn)行程序開發(fā)的用戶體驗不是很好。
  • 遠(yuǎn)程開發(fā)
    ?  遠(yuǎn)程開發(fā)是指在個人計算機(jī)上編寫代碼,然后將代碼上傳到樹莓派進(jìn)行調(diào)試和運行,整個調(diào)試和運行的操作都是在個人計算機(jī)上完成的,基本無需在樹莓派上進(jìn)行操作。很明顯,遠(yuǎn)程開發(fā)方式發(fā)揮了普通個人計算的優(yōu)勢,減輕了樹莓派的負(fù)擔(dān),為我們提供了更好的開發(fā)體驗。
    ?  遠(yuǎn)程開發(fā)是我們推薦的開發(fā)方式,以下將介紹一種遠(yuǎn)程開發(fā)樹莓派程序的方法。

4.2 PyCharm遠(yuǎn)程開發(fā)樹莓派程序

4.2.1 PyCharm簡介

?  PyCharm是JetBrains開發(fā)的一款功能強(qiáng)大的Python IDE,提供了調(diào)試、語法高亮、項目管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制等功能。PyCharm有專業(yè)版和社區(qū)版兩個版本,但只有專業(yè)版才具備遠(yuǎn)程Python解釋器和調(diào)試器功能,要實現(xiàn)遠(yuǎn)程開發(fā)樹莓派程序需使用專業(yè)版的PyCharm

4.2.2 配置遠(yuǎn)程開發(fā)環(huán)境

?  步驟 1: 將樹莓派接入網(wǎng)絡(luò)(需要和個人計算機(jī)在同一個局域網(wǎng)),并配置好SSH,具體參考第3章

?  步驟 2: 在個人計算機(jī)上安裝Python3。從Python官網(wǎng)https://www.python.org/downloads/下載合適的Python版本并安裝,我們這里安裝的是Pyhton 3.7.2(64-bit),對應(yīng)的安裝文件為python-3.7.2-amd64.exe。運行安裝程序,按圖 4.1所示選擇,把Python加到Windows的環(huán)境變量PATH上去。如果采用默認(rèn)安裝,則點擊“Install Now”,如果需要自定義安裝(如修改安裝路徑等),則點擊“Customize installation”,然后一路“Next”即可。

圖 4.1 安裝Python

?  安裝完成后,在“命令提示符”輸入以下命令,如果安裝成功,則顯示“Python 3.7.2”。

python --version  

?  步驟 3: 在個人計算機(jī)上安裝Pycharm。由于需要使用到Pycharm的遠(yuǎn)程Python解釋器和調(diào)試器功能,因此我們需要安裝專業(yè)版的Pycharm,官網(wǎng)下載地址:http://www.jetbrains.com/pycharm/download/。Pycharm的安裝比較簡單,運行安裝程序后,采用默認(rèn)安裝一路“Next”即可,安裝過程大概需要幾分鐘,請耐心等待。
?  Pycharm專業(yè)版是收費的,安裝完成后需要激活,具體的解決的辦法,可以私信我,或上網(wǎng)查找。

?  步驟 4: 運行Pycharm新建一個“Pure Python”項目,并按圖4.2設(shè)置。其中,“Location”為新建項目在個人計算機(jī)上的存放位置。

圖 4.2 創(chuàng)建項目

?  步驟 5: 新建基于SSH連接的遠(yuǎn)程Python解釋器。如圖4.2所示,點擊“...”,然后選擇“SSH Inetrpreter”,并按圖4.3一步一步設(shè)置。其中,“Host”為樹莓派的IP地址;“UserName”為登錄樹莓派的用戶名;“InterPreter”為樹莓派上的Python解釋器路徑,這里使用的是Python 3的解釋器,如果想使用Python 2,則把路徑改為“/usr/bin/python”。由于Raspbain系統(tǒng)是大小寫敏感的,在填寫配置信息的時候應(yīng)注意大小寫。
?  成功新建遠(yuǎn)程Python解釋器后,如圖4.4所示,PyCharm會向樹莓派上傳一些文件,一般需要幾分鐘的時間,請耐心等待。



圖 4.3 新建基于SSH連接的遠(yuǎn)程Python解釋器

圖 4.4 完成遠(yuǎn)程Python解釋器創(chuàng)建

?  步驟 6: 修改項目在樹莓派上的存放目錄(可選)并完成項目創(chuàng)建。新建遠(yuǎn)程Python解釋器后,PyCharm會自動設(shè)置項目在樹莓派上的存放目錄,但為了管理方便,建議修改一下。如圖4.5所示,按照您的習(xí)慣對“Remote project location”進(jìn)行修改,然后點擊“Create”完成項目創(chuàng)建,進(jìn)入PyCharm的開發(fā)界面,如圖4.6所示。

圖 4.5 修改項目在樹莓派上的存放目錄

圖 4.6 項目開發(fā)界面

?  步驟 7: 進(jìn)一步配置項目遠(yuǎn)程Python解釋器。進(jìn)入“File->Settings->Project: myApp(項目名稱)->Project Interpreter”,如圖4.7所示,點擊“Project Interpreter”選項后面的小齒輪,選擇“Show All...”,進(jìn)入“Project Interpreters”。

圖 4.7 進(jìn)入項目解析器配置管理

?  如圖4.8所示,找到剛剛新建的遠(yuǎn)程Python解釋器配置,然后點擊小鉛筆圖標(biāo)進(jìn)入“Configure Remote Python Interpreter”界面。

圖 4.8 進(jìn)入遠(yuǎn)程解析器配置

?  按照圖4.9設(shè)置SSH Credentials,“Host”、“User Name”、“Authentication type”、“Password”、“Python Interpreter path”等配置項的值與之前步驟的值一樣,而“PyCharm helper path”采用默認(rèn)值即可。

圖 4.9 配置遠(yuǎn)程解析器

?  如果設(shè)置成功,如圖4.10所示,在“Project Interpter”對話框的列表中將顯示出樹莓派上已安裝的Python包的信息,點擊列表右邊的眼睛圖標(biāo)可以進(jìn)行刷新。如果在列表下面出來圖4.10中的提示,則點擊“Install packaging tools”安裝packaging tools即可。

圖 4.10 完成遠(yuǎn)程解析器配置

?  步驟 8(可選): 配置文件上傳機(jī)制。PyCharm能夠自動的把代碼文件等上傳到樹莓派,默認(rèn)是當(dāng)文件文件發(fā)生改變時自動上傳。這種默認(rèn)機(jī)制上傳文件的次數(shù)較多,效率不高且會影響MicroSD卡的壽命,因此建議修改為保存文件后上傳文件,以減少文件上傳次數(shù)。如圖4.11所示,在“File->Settings”中找到相應(yīng)的配置項并修改。

圖 4.11 配置文件上傳機(jī)制

?  到此為止,我們就完成了PyCharm遠(yuǎn)程Python開發(fā)環(huán)境的搭建,這樣就可以在個人計算機(jī)上使用PyCharm編寫代碼,然后通過SSH調(diào)用樹莓派上Python解釋器進(jìn)行調(diào)試和運行程序。

4.2.3 編寫第一個程序

?  步驟 1: 新建一個Python文件,輸入以下代碼并保存,最終結(jié)果如圖4.12所示,在下方的“File Transfer”窗口中可以看到文件已經(jīng)被自動的上傳到樹莓派。

#!/usr/bin/python3

if __name__ == '__main__':
    print("Hello, World!")

圖 4.12 編寫程序

?  步驟 2: 運行程序。如圖4.13所示,第一次運行程序可以點擊綠色三角形選擇“Run 'main'”或“Debug 'main'”,運行的結(jié)果可以在下面的“Run”窗口中看到。之后,也可以通過點擊右上角工具欄按鈕運行或調(diào)試程序。

圖 4.13 運行程序

4.2.4 root權(quán)限問題

?  很多的樹莓派Python程序(例如:GPIO、藍(lán)牙等)需要root權(quán)限才能運行,而前面配置用于遠(yuǎn)程開發(fā)樹莓派程序的用戶pi是不具備root權(quán)限,遠(yuǎn)程運行程序的時候會發(fā)生錯誤,以下提供一種解決這個問題的方法。

?  步驟 1: 新建腳本文件。在樹莓派上新建一個腳本文件,命名為py_sudo.sh,文件的內(nèi)容如下:

#!/bin/bash
sudo /usr/bin/python3 "$@"

提示:

  • 這里我們把腳本文件py_sudo.sh存放在“/home/pi/”目錄下面。
  • 可以使用XShell登錄樹莓派后,運行“nano”或“vi/vim”等文本編輯器創(chuàng)建該腳本文件,也可以在個人計算機(jī)上創(chuàng)建該腳本文件后上傳到樹莓派上。

?  其中,python3表示使用Python 3,如果想使用Python 2,修改為python即可。

?  步驟 2: 讓腳本文件具有可執(zhí)行權(quán)限。使用XShell登錄樹莓派,進(jìn)入腳本文件所在目錄,輸入以下命令:

chmod +x py_sudo.sh

?  步驟 3: 修改遠(yuǎn)程Python解釋器。參考4.2.2節(jié)的步驟7,進(jìn)入“Configure Remote Python Interpreter”,按圖4.14所示修改遠(yuǎn)程Python解釋器路徑。

圖 4.14 修改遠(yuǎn)程解釋器路徑

?  完成配置后就可以遠(yuǎn)程調(diào)試運行需要root權(quán)限的Python程序,而編寫程序的方法不變。

4.3 本章小結(jié)

?  本章首先介紹了本地開發(fā)和遠(yuǎn)程開發(fā)樹莓派程序的兩種思路,然后詳細(xì)介紹在Windows上使用PyCharm專業(yè)版遠(yuǎn)程開發(fā)運行樹莓派程序的方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內(nèi)容