一般情況下,我們開發除錯都是在個人PC上完成,遇到問題,開一下 Pycharm 的除錯器,很快就能找到問題所在,
可有些時候,專案代碼的運行會對運行環境有依賴,必須在部署了相關依賴組件的服務器上才可以運行,這就直接導致了我們不能在本地進行除錯,
對于這種特殊的場景,就我所知,有如下兩種解決方案:
- pdb
- 遠程除錯
關于 pdb,之前也寫過專門的文章介紹使用方法,你可以點此查看:無圖形界面的代碼除錯方法 - pdb
而遠程除錯呢,是讓我們可以在我們在 PC 上用 PyCharm 的圖形化界面來進行除錯遠方服務器上代碼,它和本地除錯沒有太大的區別,原來怎么除錯的現在還是怎么除錯,
區別就在于,本地除錯不需要事前配置,只要你的代碼準備好了,隨時可以開始 Debug ,而遠程除錯呢,需要不少前置步驟,這也正是本篇文章的內容,教你如何配置遠程除錯環境,
1. 新建一個專案
首先,要在Pycharm中新建一個空的專案,后面我們拉服務器上的專案代碼就會放置在這個專案目錄下,我這邊的名字是 NOVA,你可以自己定義,

2. 配置連接服務器
Tools -> Deployment -> configuration

添加一個Server
-
Name:填你的服務器的IP
-
Type:設定為SFTP

點擊OK后,進入如下界面,你可以按我的備注,填寫資訊:
- SFTP host:公網ip
- Port:服務器開放的ssh埠
- Root path:你要除錯的專案代碼目錄
- Username:你登陸服務器所用的用戶
- Auth type:登陸型別,若用密碼登陸的就是Password
- Password:選密碼登陸后,這邊輸入你的登陸密碼,可以選擇保存密碼,
這里請注意,要確保你的電腦可以ssh連接到你的服務器,不管是密鑰登陸還是密碼登陸,如果開啟了白名單限制要先解除,

填寫完成后,切換到Mappings選項卡,在箭頭位置,填寫\

以上服務器資訊配置,全部正確填寫完成后,點擊OK
接下來,我們要連接遠程服務器了,
Tools -> Deployment -> Browse Remote Host

3. 下載專案代碼
如果之前填寫的服務器登陸資訊準確無誤的話,現在就可以看到遠程的專案代碼,

選擇下載遠程代碼要本地,

下載完成提示,

現在的IDE界面應該是這樣子的,

4. 下載遠程解釋器
為什么需要這步呢?
遠程除錯是在遠端的服務器上運行的,它除了依賴其他組件之外,還會有一些很多Python依賴包我們本地并沒有,
進入 File -> Settings
按圖示,添加遠程解釋器,

填寫遠程服務器資訊,跟之前的一樣,不再贅述,

點擊OK后,會自動下載遠程解釋器,如果你的專案比較大,這個時間可能會比較久,請耐心等待,
5. 添加程式入口
因為我們要在本地DEBUG,所以你一定要知道你的專案的入口程式,如果這個入口程式已經包含在你的專案代碼中,那么請略過這一步,
如果沒有,就請自己生成入口程式,
比如,我這邊的專案,在服務器上是以一個服務運行的,而我們都知道服務的入口是Service檔案,
cat /usr/lib/systemd/system/openstack-nova-compute.service
[Unit]
Description=OpenStack Nova Compute Server
After=syslog.target network.target libvirtd.service
[Service]
Environment=LIBGUESTFS_ATTACH_METHOD=appliance
Type=notify
NotifyAccess=all
TimeoutStartSec=0
Restart=always
User=nova
ExecStart=/usr/bin/nova-compute
[Install]
WantedBy=multi-user.target
看到那個ExecStart沒有?那個就是我們程式的入口,
我們只要將其拷貝至我們的Pycharm中,并向遠程同步該檔案,

6. 除錯前設定
開啟代碼自動同步,這樣,我們對代碼的修改Pycharm都能識別,并且為我們提交到遠程服務器,

開啟 Gevent compatible,如果不開啟,在除錯程序中,很可能出現無法除錯,或者無法追蹤/查看變數等問題,

7. 開始除錯代碼
在你的程式入口檔案處,點擊右鍵,選擇Debug即可,
如果你的程式入口,需要引入引數,這是經常有的事,可以的這里配置,

配置完點擊保存即可,

8. 友情提醒
按照文章的試除錯代碼,會自動同步代碼至遠端,千萬不要在生產環境使用,一定要在開發環境中使用,否則后果自負,
除錯工具給了程式員提供了很大的便利,但還是希望你不要過度依賴,盡量在每次寫代碼的時候,都追求一次成型,提高自己的編碼能力,
文章最后給大家介紹三個我自己寫的在線檔案:
第一個檔案:PyCharm 中文指南 1.0 檔案
花了兩個多月的時間,整理了 100 個 PyCharm 的使用技巧,為了讓新手能夠直接上手,我花了很多的時間錄制了上百張 GIF 動圖,有興趣的前往在線檔案閱讀,

第二個檔案:PyCharm 黑魔法指南 1.0 檔案
系統收錄各種 Python 冷門知識,Python Shell 的多樣玩法,令人瘋狂的 Python 炫技操作,Python 的超詳細進階知識解讀,非常實用的 Python 開發技巧等,

第三個檔案:Python 中文指南 1.0 檔案
花了三個月時間寫的一本 適合零基礎入門 Python 的全中文教程,搭配大量的代碼案例,讓初學者對 代碼的運作效果有一個直觀感受,教程既有深度又有廣度,每篇文章都會標內容的難度,是基礎還是進階的,可供讀者進行選擇,是一本難得的 Python 中文電子教程,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/266905.html
標籤:Python
上一篇:use關鍵字在PHP中的幾種用法
