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