pycharm remote 远程项目 同步 本地_利器:PyCharm本地连接服务器搭建深度学习实验环境的三重境界...
作為實驗室社畜,常需要在本地使用Pycharm寫代碼,然后將代碼同步到服務器上,使用遠程登錄服務器并運行代碼做實驗。
這其中有很多事情如果沒有好的工具,做起來會非常麻煩。
比如如何快速同步本地與服務器的代碼?如何優雅地單步調試?等
如果你也感同身受,不妨看看這篇文章~
注:本人使用的PyCharm版本是2019.1.3,其他版本應該也類似
我們先使用PyCharm創建一個"demo"項目,不妨先創建一個test.py文件,寫下測試代碼:
import第一重境界 本地與遠程代碼同步
step 1. Tools --> Deployment --> Configuration...
step 2. + --> SFTP
并給遠程server命名。
step 3. 填寫紅框中的內容
可以點擊Test Connection,測試是否可以連接成功。
Root path默認為/,你可以將其設置為你個人用戶的根目錄/home/xxx
Step 4. Mappings --> Local path / Deployment path
Local path表示項目本地目錄
Deployment path表示項目對應的遠程目錄
step 5. Tools --> Deployment --> Browse Remote Host
可以在PyCharm內查看遠程目錄及文件
step 6. 配置完成,此時即可上傳。
右鍵想要上傳/同步的文件 --> Deployment --> Upload to server
快捷鍵:Shift + Ctrl + Alt + X
可以設置:Tools --> Deployment --> Automatic Upload
實現一旦有改動,自動上傳同步到遠程
第二重境界 本地與遠程代碼同步,本地debug
現在我們已經可以在本地PyCharm寫代碼,然后優雅地上傳同步到遠程了。然而我們運行代碼還是得另外使用遠程登錄軟件(比如XShell),遠程登錄后運行上傳地代碼。
我們可以直接在PyCharm內部使用遠程的Python環境來運行本地的代碼啊,甚至還可以直接單步調試本地的代碼。
step 1. File -> Settings -> (根據個人實際pycharm項目名,這里是Project: demo)--> Project Interpreter --> add remote path
點擊Next
選擇Interpreter,不選擇會使用系統默認
Sync folders:選擇對應的遠程同步目錄即可(也就是我們剛剛上傳的那個Deployment path)
最后,別忘了點擊Apply!
step 2. 設置Terminal中的Python環境:File --> Settings --> Tools -> SSH Terminal
--> Apply --> OK
step 3. Tools-->Start SSH Session可打開遠程命令行界面
step 4. 右上角Add Configuration...,填寫Script path,Parameters和Python interpreter等參數:
Script path:待執行腳本位置
Parameters:腳本運行參數,比如在深度學習實驗中我們常會設置--gpu 1 --batch_size 32 --phase train等
Python Interpreter:這就是我們在step1中配置的遠程Python環境
step 5. 大功告成。我們可以使用遠程Python環境在本地運行/debug自己的代碼了。
還有個小問題:
我們點擊運行后,會看到:
還記得上面這張圖嗎?
所以PyCharm實際上就是將你要運行的代碼上傳到了你設置的/home/<your username>/tmp/pycharm_project_46(你寫的是/tmp/pycharm_project_46,會自動加上/home/<your username>前綴),然后在遠程運行對應的代碼文件,將結果返回。
第三重境界 本地與遠程代碼同步,遠程debug
事情似乎圓滿解決了?顯然還沒有!以上方式似乎可以近似調試遠程的代碼了,但是還是會有問題!
比如在深度學習實驗中,我們常常需要輸入大規模的數據,而這些數據都是存在服務器上的!用以上方法顯然不太能很優雅地解決這種導入數據集的路徑問題。
這可怎么辦呢???
我們最理想的狀態就是:在服務器上運行代碼,然后在本地單步調試。
這個可以做到嗎?當然可以!
step 1. 在服務器上安裝pydevd:pip install pydevd-pycharm~=192.6817.19(這與PyCharm的版本相關,你需要參考你自己的版本)
step 2. 將以下代碼加入到遠程服務器的主入口py文件中:
注意:111.111.111.111是本地計算機的ip,服務器需要能夠訪問到本地計算機。端口號選擇一個10000以上的,比如這里的31235
import因此test.py代碼修改為:
import別忘了將代碼修改同步更新到遠程!
step 3. 右上角 --> Edit Configurations --> + --> Python Renote Debug
和剛剛一樣,填上Name, Local host name, Port等
注:這里會有簡單的教程,提示你應該在遠程服務器上安裝哪個版本的pydevd
step 4. 在本地設置好斷點,點擊調試,等待。
step 5. 在xshell中登錄服務器運行主入口程序py文件,便會將請求轉到本地的pycharm中,遇到斷點便會停止,可以調試了!
我們這里是進入demo目錄下輸入python test.py
另外:可能會遇到在本地找不到匹配py文件的情況:
點擊auto-detect,選擇對應的py文件就可以了!
大功告成!!!
總結
以上是生活随笔為你收集整理的pycharm remote 远程项目 同步 本地_利器:PyCharm本地连接服务器搭建深度学习实验环境的三重境界...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓二战风云怎么实名认证(安卓二战风云)
- 下一篇: ddos攻击环境搭建(ddos攻击测试环