Pycharm配置遠程調(diào)試的方法步驟
動機
- 一些bug由于本地環(huán)境和線上環(huán)境的不一致可能導(dǎo)致本地?zé)o法復(fù)現(xiàn)
- 本地依賴和線上依賴版本不一致也可以導(dǎo)致一些問題
- 有時一些bug跟數(shù)據(jù)相關(guān),本地數(shù)據(jù)無法和線上數(shù)據(jù)一致
- 有些三方平臺會驗證服務(wù)器的合法性或者異步回調(diào)結(jié)果,如微信支付,這時候本地?zé)o法測試
如上所訴,要是有一個很方便調(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é)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(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é)習(xí)下。2019-05-05
Python實現(xiàn)輕松合并doc為txt的示例代碼
這篇文章主要為大家詳細介紹了如何利用Python編程語言和wxPython模塊,打開指定文件夾中的DOC文檔,并將它們的內(nèi)容合并成一個便捷的TXT文檔,需要的可以參考下2024-03-03
pandas or sql計算前后兩行數(shù)據(jù)間的增值方法
下面小編就為大家分享一篇pandas or sql計算前后兩行數(shù)據(jù)間的增值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python?設(shè)計模式中的創(chuàng)建型建造者模式
本文介紹Python設(shè)計模式中的創(chuàng)建型建造者模式,其表現(xiàn)為復(fù)雜對象的創(chuàng)建與表現(xiàn)相分離,這樣,同一個過程就有不同的表現(xiàn),想要創(chuàng)建一個由多個部分組成的對象,而且它的構(gòu)成需要一步接一步的完成。只有當(dāng)各個部分都完成了,這個對象才完整,下文相關(guān)自來哦,需要的朋友可以參考下2022-02-02

