Pycharm 如何連接遠(yuǎn)程服務(wù)器并debug調(diào)試
環(huán)境說(shuō)明:本人pycharm是2021.3.3,其它版本設(shè)置界面可能略有差別
使用的是企業(yè)版,不知道社區(qū)版是否支持(據(jù)了解可能不支持)
1 設(shè)置鏈接的賬號(hào)密碼:
依次點(diǎn)擊 File--》Settings--》Tools--》SSH Configurations 。

在界面中依次輸入
host :遠(yuǎn)程服務(wù)器地址
port :協(xié)議端口號(hào)
user name:用戶名
password :密碼
然后點(diǎn)擊ok保存。
2.1 終端界面連接服務(wù)器:
如下圖所示,依次點(diǎn)擊Terminal--》下拉菜單,選擇要連接服務(wù)器(上個(gè)部署已經(jīng)設(shè)置好的SSH賬號(hào)密碼會(huì)在此處顯示),即可進(jìn)入遠(yuǎn)程服務(wù)器的bash界面。

或者依次點(diǎn)擊Tools--》Start SSH Session--》選擇要連接的服務(wù)器,進(jìn)入到遠(yuǎn)程服務(wù)器的終端界面。
在此界面可以執(zhí)行l(wèi)inux的各種命令。
2.2 使用pycharm查看linux服務(wù)器上的各種文件,并且使用pycharm編輯器界面直接修改和保存代碼。
依次點(diǎn)擊Tools--》Deployment--》Configuration,出現(xiàn)如圖所示的配置界面。
箭頭1是在步驟1中設(shè)置的ssh連接賬號(hào)密碼,如果在步驟1中未設(shè)置,點(diǎn)擊箭頭2的加號(hào)也可以設(shè)置ssh連接賬號(hào)密碼。
Type:連接的協(xié)議,此處選擇SFTP(文件傳輸協(xié)議,此協(xié)議支持文件的上傳和下載)
SSH configuration: 選擇ssh連接的賬號(hào)密碼
Root path:選擇要顯示遠(yuǎn)程服務(wù)器的文件的路徑,“/”表示顯示遠(yuǎn)程服務(wù)器的根路徑。

注意:Visible only for this project 這個(gè)不要勾選。
設(shè)置完成后,依次選擇Tools--》development--》Browse Remote Host,會(huì)出現(xiàn)如下圖所示的顯示服務(wù)器文件的列表。

在箭頭處的下拉按鈕選擇在configuration中設(shè)置的連接選項(xiàng),可以選擇連接不同的服務(wù)器。這樣可以像pycharm修改本地代碼一樣對(duì)遠(yuǎn)程linux服務(wù)器進(jìn)行修改和保存。到此為止這種方式只能對(duì)遠(yuǎn)程服務(wù)器的代碼進(jìn)行編輯和修改,并不能運(yùn)行或者debug調(diào)試代碼。
備注:他這個(gè)修改遠(yuǎn)程linux服務(wù)器代碼的背后邏輯(真實(shí)執(zhí)行過(guò)程)其實(shí)也是將遠(yuǎn)程服務(wù)器下的代碼下載、暫時(shí)緩存到本地,在本地修改好了之后再上傳到遠(yuǎn)程服務(wù)器,從而實(shí)現(xiàn)對(duì)其修改的目的。
3 使用pycharm連接遠(yuǎn)程服務(wù)器,使用遠(yuǎn)程服務(wù)器環(huán)境,實(shí)現(xiàn)代碼在本地的運(yùn)行、調(diào)試
思考:pycharm能在本地執(zhí)行代碼是因?yàn)閜ychram能讀取本地的運(yùn)行環(huán)境,想要執(zhí)行在遠(yuǎn)程服務(wù)器的代碼就需要:
(1)連接到遠(yuǎn)程服務(wù)器
(2)并且能夠準(zhǔn)確找到遠(yuǎn)程服務(wù)器的環(huán)境位置,從而使用此環(huán)境來(lái)編譯執(zhí)行本地代碼。
這樣就不需要本地也安裝和遠(yuǎn)程服務(wù)器一樣的環(huán)境,使用遠(yuǎn)程服務(wù)器的環(huán)境,在本地來(lái)運(yùn)行、調(diào)試代碼。
具體步驟:
3.1 配置連接:
依次點(diǎn)擊Tools--》Deployment--》Configuration,出現(xiàn)如圖所示的配置界面。

具體參數(shù)和配置參考2.2。
3.2 配置映射關(guān)系
點(diǎn)擊Mappings,界面如下所示:

Local path:本地項(xiàng)目所在目錄。
Deployment path on server:遠(yuǎn)程服務(wù)器上項(xiàng)目所在目錄。這里的目錄是相對(duì)于上一步設(shè)置的Root path而言的,它和Root path 路徑共同拼接成項(xiàng)目的具體路徑。如圖上兩圖所示。
項(xiàng)目的絕對(duì)路徑為: /home/serverai/lee/nomal_test
3.3 同步代碼
點(diǎn)擊 Tools(工具),點(diǎn)擊 部署Deployment(部署)
如果是想要將本地的代碼同步到遠(yuǎn)程服務(wù)器,點(diǎn)擊Upload to xxx
如果是想從遠(yuǎn)程服務(wù)器拉代碼,則點(diǎn)擊Download from xxxx(xxxx是遠(yuǎn)程主機(jī)的名稱(chēng))
如果勾選了Automatic Upload (always),那么,你在本地修改了代碼,pycharm會(huì)自動(dòng)將代碼同步到遠(yuǎn)程服務(wù)器上(還是手動(dòng)同步靠譜)

3.4 配置遠(yuǎn)程解釋器作為運(yùn)行環(huán)境
(1)點(diǎn)擊左上角 Files--》Settings ,點(diǎn)擊Project Interpreter,點(diǎn)擊Add。
(2) 選擇SSH Interpreter,選擇Existing server configuration,選擇遠(yuǎn)程服務(wù)器

(3) 配置Python解釋器所在路徑,找到遠(yuǎn)程服務(wù)器環(huán)境的路徑,粘貼到此處。

3.5 在打開(kāi)本地代碼,進(jìn)行運(yùn)行調(diào)試?。。?!
(打開(kāi)遠(yuǎn)程服務(wù)器代碼后運(yùn)行調(diào)試會(huì)報(bào)錯(cuò)[Errno 2] No such file or directory)。
上兩張圖:


我本地的環(huán)境中根本沒(méi)裝pytorch,也沒(méi)有g(shù)pu。以上證明調(diào)用遠(yuǎn)端服務(wù)器程序調(diào)試本地代碼功能完成。
寫(xiě)在最后的測(cè)試小tip
在本地執(zhí)行代碼,相當(dāng)于在本地和遠(yuǎn)程同時(shí)執(zhí)行了代碼(遠(yuǎn)程路徑為3.2中mapping頁(yè)面Deployment path 所標(biāo)記的地址)。如果有文件寫(xiě)入,寫(xiě)入的最后結(jié)果在遠(yuǎn)程服務(wù)器上,而不是在電腦上。如果有引入,也是按照遠(yuǎn)程服務(wù)器的路徑引入的。
到此這篇關(guān)于Pycharm 如何連接遠(yuǎn)程服務(wù)器并debug調(diào)試的文章就介紹到這了,更多相關(guān)Pycharm 連接遠(yuǎn)程服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python調(diào)用百度api實(shí)現(xiàn)語(yǔ)音識(shí)別詳解
這篇文章主要介紹了Python通過(guò)調(diào)用百度api實(shí)現(xiàn)語(yǔ)音識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2021-12-12
Matplotlib實(shí)戰(zhàn)之柱狀圖繪制詳解
柱狀圖,是一種使用矩形條,對(duì)不同類(lèi)別進(jìn)行數(shù)值比較的統(tǒng)計(jì)圖表,這篇文章主要為大家詳細(xì)介紹了如何使用Matplotlib繪制柱狀圖,需要的可以參考下2023-08-08
Python Flask基礎(chǔ)到登錄功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python Flask基礎(chǔ)到登錄功能的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
Python深度學(xué)習(xí)pytorch卷積神經(jīng)網(wǎng)絡(luò)LeNet
這篇文章主要為大家講解了Python深度學(xué)習(xí)中的pytorch卷積神經(jīng)網(wǎng)絡(luò)LeNet的示例解析,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10
Python高階函數(shù)extract與extractall使用實(shí)例探究
這篇文章主要為大家介紹了Python高階函數(shù)extract與extractall使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python OpenCV實(shí)現(xiàn)裁剪并保存圖片
這篇文章主要為大家詳細(xì)介紹了Python OpenCV實(shí)現(xiàn)裁剪并保存圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07

