使用PyCharm進(jìn)行遠(yuǎn)程開(kāi)發(fā)和調(diào)試的實(shí)現(xiàn)
你是否經(jīng)常要在Windows 7或MAC OS X上面開(kāi)發(fā)Python或Web應(yīng)用程序,但是它們最后需要在linux上面來(lái)運(yùn)行呢? 我們經(jīng)常會(huì)碰到開(kāi)發(fā)時(shí)沒(méi)有問(wèn)題但是到了正式的Linux環(huán)境下面卻出現(xiàn)問(wèn)題。那么怎樣保證開(kāi)發(fā)環(huán)境跟運(yùn)行環(huán)境的一致呢?
通常有兩種方法解決。一種是使用PyCharm內(nèi)置支持的Vagrant,這個(gè)教程可以參考Vagrant開(kāi)發(fā)環(huán)境配置。 不過(guò)很遺憾的是我自己在試驗(yàn)過(guò)程中啟動(dòng)VirtualBox虛擬機(jī)時(shí)候老是報(bào)錯(cuò),暫時(shí)還沒(méi)解決,讀者可以自己試著測(cè)試看行不行。 第二種方式就是通過(guò)PyCharm的遠(yuǎn)程解釋器加上文件同步功能,實(shí)現(xiàn)本地編輯代碼->同步到服務(wù)器->通過(guò)遠(yuǎn)程debug來(lái)調(diào)試測(cè)試程序。目前我選擇的是第二種,雖然比第一種更笨拙點(diǎn)。
遠(yuǎn)程調(diào)試的功能在Eclipse、IntelliJ IDEA等大型IDE中均有支持,實(shí)現(xiàn)原理都基本相同,這里采用PyCharm進(jìn)行說(shuō)明。
遠(yuǎn)程服務(wù)器的同步配置
遠(yuǎn)程服務(wù)器IP地址192.168.203.95,開(kāi)啟ssh服務(wù),安裝python版本2.7。我用一個(gè)在PyCharm里面的core-python項(xiàng)目來(lái)做演示。
首先我們需要配置PyCharm通服務(wù)器的代碼同步,打開(kāi)Tools | Deployment | Configuration
點(diǎn)擊左邊的“+”添加一個(gè)部署配置,輸入名字,類(lèi)型選SFTP

確定之后,再配置遠(yuǎn)程服務(wù)器的ip、端口、用戶名和密碼。root path是文件上傳的根目錄,注意這個(gè)目錄必須用戶名有權(quán)限創(chuàng)建文件。

然后配置映射,local path是你的工程目錄,就是需要將本地這個(gè)目錄同步到服務(wù)器上面,我填的是項(xiàng)目根目錄。 Deploy path on server 這里填寫(xiě)相對(duì)于root path的目錄,下面那個(gè)web path不用管先

如果你還有一些文件或文件夾不想同步,那么在配置對(duì)話框的第三個(gè)tab頁(yè)“Excluded path”里面添加即可,可同時(shí)指定本地和遠(yuǎn)程。
還有一個(gè)設(shè)置,打開(kāi)Tools | Deployment | Options,將”Create Empty directories”打上勾,要是指定的文件夾不存在,會(huì)自動(dòng)創(chuàng)建。
上傳和下載文件
有幾種方法可以實(shí)現(xiàn)本地和遠(yuǎn)程文件的同步,手動(dòng)和當(dāng)文件保存后自動(dòng)觸發(fā)。這里我選擇了手動(dòng),因?yàn)樽詣?dòng)觸發(fā)比如影響性能,PyCharm會(huì)卡,感覺(jué)不爽。
手動(dòng)上傳方式很簡(jiǎn)單,選擇需要同步的文件或文件夾,然后選擇 Tools | Deployment | Upload to sftp(這個(gè)是剛剛配置的部署名稱)

下載文件也是一樣,選擇 Tools | Deployment | Download from sftp
比較遠(yuǎn)程和本地文件
有時(shí)候你并不確定遠(yuǎn)程和本地版本的完全一致,需要去比較看看。PyCharm提供了對(duì)比視圖來(lái)為你解決這個(gè)問(wèn)題。
選擇Tools | Deployment | Browse Remote Host,打開(kāi)遠(yuǎn)程文件視圖,在右側(cè)窗口就能看到遠(yuǎn)程主機(jī)中的文件

選擇一個(gè)你想要對(duì)比的文件夾,點(diǎn)擊右鍵->Sync with Local,打開(kāi)同步對(duì)比窗口,使用左右箭頭來(lái)同步內(nèi)容。
上面是服務(wù)器與本地對(duì)比,那么本地文件通服務(wù)器對(duì)比,就先在PyCharm里面選擇文件或文件夾,然后右鍵->Deployment->Sync with deployed to即可
PyCharm遠(yuǎn)程調(diào)試
在PyCharm中進(jìn)行遠(yuǎn)程調(diào)試有兩種選擇:
- 使用遠(yuǎn)程的解釋器
- 使用Python調(diào)試服務(wù)器
這里簡(jiǎn)單起見(jiàn)我只演示第一種,使用遠(yuǎn)程解釋器,也就是使用服務(wù)器上面安裝的python解釋器。
配置遠(yuǎn)程Python解釋器
選擇File | Settings,選擇Project | Project Interpreter,然后在右邊,點(diǎn)擊那個(gè)小齒輪設(shè)置,如下

然后點(diǎn)擊”Add Remote”,填寫(xiě)主機(jī)的ssh配置

如果之前配置過(guò)SFTP的話就直接選“Deployment configuration”,然后選擇剛剛的模板名稱就可以了,由于我上面配置過(guò)就直接選模板, 這里請(qǐng)仔細(xì)看我的Python解釋器是虛擬環(huán)境virtualenv,這個(gè)要在服務(wù)器上面先創(chuàng)建好虛擬環(huán)境。
開(kāi)始調(diào)試
完成之后選擇這個(gè)遠(yuǎn)程的解釋器作為工程的解釋器即可,然后配置一個(gè)運(yùn)行實(shí)例,打斷點(diǎn)調(diào)試。 這里我以另外一個(gè)django工程為例來(lái)說(shuō)明,名字為zspace,因?yàn)橛靡粋€(gè)web工程來(lái)說(shuō)明更具代表性。
選擇“Run/Debug Configuration”,添加一個(gè)“Django server”,然后配置像下面這樣寫(xiě) 請(qǐng)注意圖中標(biāo)出的幾個(gè)點(diǎn),具體什么意思就不用多解釋了吧,^_^

然后你就可以像本地調(diào)試一樣打斷點(diǎn)做調(diào)試了。這個(gè)步驟太簡(jiǎn)單就不截圖了,記得修改源碼后同步到服務(wù)器繼續(xù)下一次的調(diào)試。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- pycharm 實(shí)現(xiàn)調(diào)試窗口恢復(fù)
- Pycharm同步遠(yuǎn)程服務(wù)器調(diào)試的方法步驟
- Pycharm調(diào)試程序技巧小結(jié)
- 如何解決pycharm調(diào)試報(bào)錯(cuò)的問(wèn)題
- pyCharm 設(shè)置調(diào)試輸出窗口中文顯示方式(字符碼轉(zhuǎn)換)
- Pycharm debug調(diào)試時(shí)帶參數(shù)過(guò)程解析
- Pycharm遠(yuǎn)程調(diào)試原理及具體配置詳解
- Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)遠(yuǎn)程調(diào)試的實(shí)現(xiàn)
- pycharm調(diào)試時(shí)顯示圖片問(wèn)題的解決
相關(guān)文章
pytorch 同步機(jī)制的實(shí)現(xiàn)
在PyTorch中,當(dāng)多個(gè)算子和內(nèi)核被并行執(zhí)行時(shí),PyTorch 通過(guò) CUDA 的流和事件機(jī)制來(lái)管理并發(fā)和同步,本文就來(lái)介紹一下pytorch 同步機(jī)制,具有一定的參考價(jià)值,感興趣的可以了解一下2024-09-09
numpy創(chuàng)建單位矩陣和對(duì)角矩陣的實(shí)例
今天小編就為大家分享一篇numpy創(chuàng)建單位矩陣和對(duì)角矩陣的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
如何基于opencv實(shí)現(xiàn)簡(jiǎn)單的數(shù)字識(shí)別
現(xiàn)在很多場(chǎng)景需要使用的數(shù)字識(shí)別,比如銀行卡識(shí)別,以及車(chē)牌識(shí)別等,在AI領(lǐng)域有很多圖像識(shí)別算法,大多是居于opencv 或者谷歌開(kāi)源的tesseract 識(shí)別,下面這篇文章主要給大家介紹了關(guān)于如何基于opencv實(shí)現(xiàn)簡(jiǎn)單的數(shù)字識(shí)別,需要的朋友可以參考下2021-09-09
matplotlib簡(jiǎn)介,安裝和簡(jiǎn)單實(shí)例代碼
這篇文章主要介紹了matplotlib簡(jiǎn)介,安裝和簡(jiǎn)單實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
python列表操作之extend和append的區(qū)別實(shí)例分析
這篇文章主要介紹了python列表操作之extend和append的區(qū)別,實(shí)例分析了extend方法和append方法使用上的區(qū)別,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法,需要的朋友可以參考下2020-02-02

