使用PyCharm進(jìn)行Python遠(yuǎn)程開發(fā)

python.png

本文翻譯自 Feature Spotlight: Python remote development with PyCharm,講述如何使用PyCharm進(jìn)行Python遠(yuǎn)程開發(fā)括丁。全文系作者原創(chuàng)袍嬉,僅供學(xué)習(xí)參考使用,轉(zhuǎn)載授權(quán)請私信聯(lián)系旷赖,否則將視為侵權(quán)行為。碼字不易,感謝支持吼和。以下為全文內(nèi)容:


這篇博客創(chuàng)作于2015年。如果您正在使用PyCharm 2018.1或者更新的版本片仿,請參考這篇博客

各位朋友大家周五好纹安,

在今天的博客中我將介紹PyCharm中的一些基本原則和特性,這些特點(diǎn)使得我們可以很容易地進(jìn)行Python遠(yuǎn)程開發(fā)。為了解釋和說明這些特性厢岂,我將使用一個非常簡單的 flask web application 作為例子光督。盡情享受吧!

注意:遠(yuǎn)程開發(fā)的特性只針對PyCharm專業(yè)版提供塔粒。如果想了解更多這方便的信息可以查看 editions comparison page

首先我從 https://github.com/mitsuhiko/flask 克隆flask倉庫结借,然后我在PyCharm的歡迎界面打開了blueprintexample目錄,這個目錄下存儲了后面我將用來演示的 flask application 的源碼卒茬。

打開目錄

PyCharm打開了這個目錄并且基于該目錄創(chuàng)建了一個項(xiàng)目:

創(chuàng)建項(xiàng)目

現(xiàn)在我準(zhǔn)備開始設(shè)置遠(yuǎn)程機(jī)器來啟動遠(yuǎn)程開發(fā)了船老。我使用了在PyCharm中提供良好支持的Vagrant。在我之前的一篇博客中我已經(jīng)涵蓋了Vagrant的集成圃酵,所以這里提供的僅僅是運(yùn)行一臺VM的直接步驟柳畔。我在項(xiàng)目的根目錄進(jìn)入 Tools | Vagrant | Init 然后選擇了事先從 collection of vagrant boxes 加載好的Ubuntu 14.04的鏡像,這個操作會在項(xiàng)目根目錄下創(chuàng)建Vagrantfile」停現(xiàn)在薪韩,我將編輯這個文件來配置一個專用網(wǎng)絡(luò),使我的VM從我的主機(jī)上可見:

編輯Vagrantfile

接著捌锭,我將使用 Tools | Vagrant | Up 來啟動VM俘陷,PyCharm會向我展示VM已經(jīng)啟動并且正在運(yùn)行:

啟動VM

我們可以在PyCharm中打開一個本地的終端來測試VM

測試VM

可以看到,VM響應(yīng)了ping請求」矍現(xiàn)在拉盾,我想在VM上運(yùn)行我的Web應(yīng)用程序,所以我需要將我的項(xiàng)目源代碼復(fù)制到遠(yuǎn)程主機(jī)上豁状。在PyCharm內(nèi)部部署工具中很容易做到這一點(diǎn)捉偏。

我轉(zhuǎn)到 Tools | Deployment | Configuration 并指定了連接VM的參數(shù):

連接VM

在同一個窗口下的 Mappings 標(biāo)簽欄中我指定了路徑的映射規(guī)則:

指定路徑映射

在這個例子中我希望我當(dāng)前的本地目錄 blueprintexampe 被映射到遠(yuǎn)端的 /home/vagrant/blueprintremote

現(xiàn)在我可以在項(xiàng)目視圖中右鍵單擊我的項(xiàng)目,并選擇 Upload to

上傳文件

這將把我的項(xiàng)目上傳到遠(yuǎn)程機(jī)器上的指定目錄:

上傳文件

最簡單的特點(diǎn)之一是替蔬,您可以通過單擊 Tools | Deployment | Automatic Upload 來設(shè)置自動上傳:

自動上傳

當(dāng)完成了這個設(shè)置后告私,本地的所有更改將自動上傳到遠(yuǎn)程機(jī)器,因此您不必?fù)?dān)心遠(yuǎn)程主機(jī)上的代碼更新承桥。很酷驻粟,不是嗎?

所以現(xiàn)在凶异,我要修改我的項(xiàng)目中的一個文件蜀撑,使得 flask application 能夠在遠(yuǎn)端可見(添加 host= '0.0.0.0' 作為一個參數(shù)到 app.run() ),PyCharm會將本地的變化自動上傳到遠(yuǎn)程機(jī)器:

自動上傳

接下來剩彬,我將指定項(xiàng)目所使用的Python解釋器酷麦。我進(jìn)入 File | Settings(在Mac OS上是Preferences)| Project | Project Interpreter。默認(rèn)情況下喉恋,PyCharm將本地Python解釋器設(shè)置為項(xiàng)目解釋器沃饶,因此我將其更改為遠(yuǎn)程解釋器:

設(shè)置Python解釋器

由于我已經(jīng)創(chuàng)建了部署配置母廷,PyCharm將開始從現(xiàn)有部署配置導(dǎo)出Python解釋器設(shè)置:

導(dǎo)出配置

但我也可以手動指定遠(yuǎn)程解釋器,使用SSH憑據(jù)或Vagrant配置糊肤。在這里我將手動完成:

手動配置

在指定了新的遠(yuǎn)程Python解釋器之后琴昆,PyCharm開始索引,并發(fā)現(xiàn)在項(xiàng)目解釋器上沒有安裝flask模塊:

安裝新模塊

我可以通過在被紅色突出顯示的未解決的參考錯誤上使用 ALT+Enter 輕松解決這個問題:

安裝新模塊

好吧」萑啵現(xiàn)在一切正常业舍,所以我們最終可以指定 Run | Debug 配置并啟動我們的應(yīng)用程序。讓我們進(jìn)入 Run | Edit Configurations 并添加一個新的Python Run | Debug配置:

配置運(yùn)行環(huán)境

Run | Debug 配置對話框中升酣,我指定新配置的名稱和要在遠(yuǎn)程主機(jī)上執(zhí)行的腳本舷暮。Python默認(rèn)設(shè)置了這個新的運(yùn)行配置的項(xiàng)目解釋器(在這種情況下為遠(yuǎn)程),最后我需要為這個特定的運(yùn)行配置指定路徑映射:

指定路徑映射

看起來我們都準(zhǔn)備好了噩茄。我點(diǎn)擊運(yùn)行按鈕:

運(yùn)行程序

PyCharm顯示應(yīng)用程序在VM上的端口5000上運(yùn)行并運(yùn)行下面。我打開瀏覽器檢查應(yīng)用程序是否真的工作:

檢查程序運(yùn)行

從現(xiàn)在開始良蒸,我們可以像通常的本地項(xiàng)目一樣使用這個項(xiàng)目逗柴。PyCharm負(fù)責(zé)上傳任何本地的更改到遠(yuǎn)程機(jī)器并保持VM運(yùn)行。

使用相同的 Run | Debug 配置辟躏,我們可以做一個簡單的遠(yuǎn)程調(diào)試會話君纫,在編輯器中放置幾個斷點(diǎn):

調(diào)試斷點(diǎn)

單擊“調(diào)試”按鈕或轉(zhuǎn)到“運(yùn)行調(diào)試”:

調(diào)試程序

以上就是全部的內(nèi)容!希望您能理解PyCharm的遠(yuǎn)程開發(fā)功能芹彬,它能夠使得Python遠(yuǎn)程開發(fā)成為輕而易舉的事蓄髓。

如果您仍渴望了解PyCharm遠(yuǎn)程開發(fā)能力以及其他遠(yuǎn)程開發(fā)功能的詳細(xì)信息,請參閱聯(lián)機(jī)幫助舒帮。


以上就是本文的全部內(nèi)容会喝,如果您喜歡這篇文章,歡迎將它分享給朋友們玩郊。

感謝您的閱讀肢执,祝您生活愉快!

作者:小美哥
2018-05-20

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末译红,一起剝皮案震驚了整個濱河市预茄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌侦厚,老刑警劉巖耻陕,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異刨沦,居然都是意外死亡诗宣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門想诅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來召庞,“玉大人岛心,你說我怎么就攤上這事±鹤疲” “怎么了忘古?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長穿稳。 經(jīng)常有香客問我存皂,道長,這世上最難降的妖魔是什么逢艘? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任旦袋,我火速辦了婚禮,結(jié)果婚禮上它改,老公的妹妹穿的比我還像新娘疤孕。我一直安慰自己,他們只是感情好央拖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布祭阀。 她就那樣靜靜地躺著,像睡著了一般鲜戒。 火紅的嫁衣襯著肌膚如雪专控。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天遏餐,我揣著相機(jī)與錄音伦腐,去河邊找鬼。 笑死失都,一個胖子當(dāng)著我的面吹牛柏蘑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播粹庞,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼咳焚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了庞溜?” 一聲冷哼從身側(cè)響起革半,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎强缘,沒想到半個月后督惰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡旅掂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年赏胚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片商虐。...
    茶點(diǎn)故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡觉阅,死狀恐怖崖疤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情典勇,我是刑警寧澤劫哼,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站割笙,受9級特大地震影響权烧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜伤溉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一般码、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乱顾,春花似錦板祝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至伏伯,卻和暖如春橘洞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背说搅。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工震檩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蜓堕。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像博其,于是被迫代替她去往敵國和親套才。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評論 2 353

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