Pycharm 如何連接遠程服務器並debug調試
環境說明:本人pycharm是2021.3.3,其它版本設置界面可能略有差別
使用的是企業版,不知道社區版是否支持(據瞭解可能不支持)
1 設置鏈接的賬號密碼:
依次點擊 File–》Settings–》Tools–》SSH Configurations 。
在界面中依次輸入
host :遠程服務器地址
port :協議端口號
user name:用戶名
password :密碼
然後點擊ok保存。
2.1 終端界面連接服務器:
如下圖所示,依次點擊Terminal–》下拉菜單,選擇要連接服務器(上個部署已經設置好的SSH賬號密碼會在此處顯示),即可進入遠程服務器的bash界面。
或者依次點擊Tools–》Start SSH Session–》選擇要連接的服務器,進入到遠程服務器的終端界面。
在此界面可以執行linux的各種命令。
2.2 使用pycharm查看linux服務器上的各種文件,並且使用pycharm編輯器界面直接修改和保存代碼。
依次點擊Tools–》Deployment–》Configuration,出現如圖所示的配置界面。
箭頭1是在步驟1中設置的ssh連接賬號密碼,如果在步驟1中未設置,點擊箭頭2的加號也可以設置ssh連接賬號密碼。
Type:連接的協議,此處選擇SFTP(文件傳輸協議,此協議支持文件的上傳和下載)
SSH configuration: 選擇ssh連接的賬號密碼
Root path:選擇要顯示遠程服務器的文件的路徑,“/”表示顯示遠程服務器的根路徑。
註意:Visible only for this project 這個不要勾選。
設置完成後,依次選擇Tools–》development–》Browse Remote Host,會出現如下圖所示的顯示服務器文件的列表。
在箭頭處的下拉按鈕選擇在configuration中設置的連接選項,可以選擇連接不同的服務器。這樣可以像pycharm修改本地代碼一樣對遠程linux服務器進行修改和保存。到此為止這種方式隻能對遠程服務器的代碼進行編輯和修改,並不能運行或者debug調試代碼。
備註:他這個修改遠程linux服務器代碼的背後邏輯(真實執行過程)其實也是將遠程服務器下的代碼下載、暫時緩存到本地,在本地修改好瞭之後再上傳到遠程服務器,從而實現對其修改的目的。
3 使用pycharm連接遠程服務器,使用遠程服務器環境,實現代碼在本地的運行、調試
思考:pycharm能在本地執行代碼是因為pychram能讀取本地的運行環境,想要執行在遠程服務器的代碼就需要:
(1)連接到遠程服務器
(2)並且能夠準確找到遠程服務器的環境位置,從而使用此環境來編譯執行本地代碼。
這樣就不需要本地也安裝和遠程服務器一樣的環境,使用遠程服務器的環境,在本地來運行、調試代碼。
具體步驟:
3.1 配置連接:
依次點擊Tools–》Deployment–》Configuration,出現如圖所示的配置界面。
具體參數和配置參考2.2。
3.2 配置映射關系
點擊Mappings,界面如下所示:
Local path:本地項目所在目錄。
Deployment path on server:遠程服務器上項目所在目錄。這裡的目錄是相對於上一步設置的Root path而言的,它和Root path 路徑共同拼接成項目的具體路徑。如圖上兩圖所示。
項目的絕對路徑為: /home/serverai/lee/nomal_test
3.3 同步代碼
點擊 Tools(工具),點擊 部署Deployment(部署)
如果是想要將本地的代碼同步到遠程服務器,點擊Upload to xxx
如果是想從遠程服務器拉代碼,則點擊Download from xxxx(xxxx是遠程主機的名稱)
如果勾選瞭Automatic Upload (always),那麼,你在本地修改瞭代碼,pycharm會自動將代碼同步到遠程服務器上(還是手動同步靠譜)
3.4 配置遠程解釋器作為運行環境
(1)點擊左上角 Files–》Settings ,點擊Project Interpreter,點擊Add。
(2) 選擇SSH Interpreter,選擇Existing server configuration,選擇遠程服務器
(3) 配置Python解釋器所在路徑,找到遠程服務器環境的路徑,粘貼到此處。
3.5 在打開本地代碼,進行運行調試!!!!
(打開遠程服務器代碼後運行調試會報錯[Errno 2] No such file or directory)。
上兩張圖:
我本地的環境中根本沒裝pytorch,也沒有gpu。以上證明調用遠端服務器程序調試本地代碼功能完成。
寫在最後的測試小tip
在本地執行代碼,相當於在本地和遠程同時執行瞭代碼(遠程路徑為3.2中mapping頁面Deployment path 所標記的地址)。如果有文件寫入,寫入的最後結果在遠程服務器上,而不是在電腦上。如果有引入,也是按照遠程服務器的路徑引入的。
到此這篇關於Pycharm 如何連接遠程服務器並debug調試的文章就介紹到這瞭,更多相關Pycharm 連接遠程服務器內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- PyCharm 2021.2 (Professional)調試遠程服務器程序的操作技巧
- pycharm2022.2遠程連接服務器調試代碼實現
- PyCharm如何配置SSH和SFTP連接遠程服務器
- pycharm遠程連接服務器並配置python interpreter的方法
- 解決pycharm不能自動保存在遠程linux中的問題