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