Pycharm配置遠程調(diào)試的方法步驟
動機
- 一些bug由于本地環(huán)境和線上環(huán)境的不一致可能導(dǎo)致本地無法復(fù)現(xiàn)
- 本地依賴和線上依賴版本不一致也可以導(dǎo)致一些問題
- 有時一些bug跟數(shù)據(jù)相關(guān),本地數(shù)據(jù)無法和線上數(shù)據(jù)一致
- 有些三方平臺會驗證服務(wù)器的合法性或者異步回調(diào)結(jié)果,如微信支付,這時候本地無法測試
如上所訴,要是有一個很方便調(diào)試遠程服務(wù)器的方法,豈不美哉。通過PyCharm我們可以很方便地實現(xiàn)遠程調(diào)試,下面詳細介紹下PyCharm這個牛叉的功能。
使用遠程解釋器
默認情況下我們在本地開發(fā)Python程序時,使用的是本地的Python解釋器,如果你安裝了virtualenv或者pyenv的話,還可以選擇這些虛擬環(huán)境。而使用Pycharm的專業(yè)版,則還可以選擇使用遠程Linux機器上的解釋器。下面就來介紹下使用遠程解釋器的步驟。
添加遠程部署
打開pycharm,tools-->Deployment-->Configuration
點擊左邊“+”添加遠程服務(wù)器,隨便起個名字,選擇SFTP
配置connection
配置Mappings
配置Excluded Paths(可選)
最后點擊OK即可
再次打開部署選項,可以發(fā)現(xiàn)現(xiàn)在可以直接部署代碼到服務(wù)器了,也可以直接下載帶代碼到本地,同時自動上傳(Automatic Upload)是默認勾選的,我一般會把它去掉,防止一些本地測試代碼上傳上去
新增一個文件,查看deployment 選項,這時候就可以上傳到遠程服務(wù)器了
添加遠程解釋器
遠程部署僅僅只是同步和拷貝文件,要真正實現(xiàn)遠程調(diào)試還需要配置遠程解釋器
設(shè)置頁面找到“Project Interpreter” --> 設(shè)置-->Add
選擇“SSH Interpreter” --> "Existing server configuration" --> 選擇剛才創(chuàng)建的部署配置,使用‘'Create“或者”Move“ 都OK
點擊下一步,這時會進行連接遠程服務(wù)器,稍等一會,會出現(xiàn)以下界面,稍微配置下,點擊“Finish”即可
最后使用遠程解釋器,點擊“OK”,返回到項目界面,等待同步完成即可
遠程調(diào)試
這里根據(jù)自己的具體項目情況而定,我這里是 Flask+阿里云+nginx+運行腳本 的一個例子
新增一個 run configuration
運行腳本代碼如下,這里使用了8000的端口
Host要配置為0.0.0.0
nginx 配置8000 端口
server { listen 8000 ; listen [::]:8000 ; server_name _; root /usr/share/nginx/html; access_log /var/log/nginx/access_8000.log main; error_log /var/log/nginx/error_8000.log; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
要是使用阿里云,還需要安全組開放8000 端口 斷點運行
出現(xiàn)上圖所示的時候,恭喜你,你已經(jīng)可以斷點調(diào)試遠程服務(wù)器了
我們打一個斷點,然后試著訪問一個API服務(wù): xx.xx.xx.xx:8000/api/pages/b…
完美斷上
補充說明
不建議在正式服務(wù)器使用這個功能,可以在測試服務(wù)器使用
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python導(dǎo)入txt數(shù)據(jù)到mysql的方法
這篇文章主要介紹了Python導(dǎo)入txt數(shù)據(jù)到mysql的方法,涉及Python操作txt文件及mysql數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04總結(jié)Python圖形用戶界面和游戲開發(fā)知識點
在本篇文章里小編給大家整理了關(guān)于Python圖形用戶界面和游戲開發(fā)知識點以及實例代碼,需要的朋友們學(xué)習下。2019-05-05Python實現(xiàn)輕松合并doc為txt的示例代碼
這篇文章主要為大家詳細介紹了如何利用Python編程語言和wxPython模塊,打開指定文件夾中的DOC文檔,并將它們的內(nèi)容合并成一個便捷的TXT文檔,需要的可以參考下2024-03-03pandas or sql計算前后兩行數(shù)據(jù)間的增值方法
下面小編就為大家分享一篇pandas or sql計算前后兩行數(shù)據(jù)間的增值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python?設(shè)計模式中的創(chuàng)建型建造者模式
本文介紹Python設(shè)計模式中的創(chuàng)建型建造者模式,其表現(xiàn)為復(fù)雜對象的創(chuàng)建與表現(xiàn)相分離,這樣,同一個過程就有不同的表現(xiàn),想要創(chuàng)建一個由多個部分組成的對象,而且它的構(gòu)成需要一步接一步的完成。只有當各個部分都完成了,這個對象才完整,下文相關(guān)自來哦,需要的朋友可以參考下2022-02-02