這一篇是很早之前的文章,此次從新發布,是想將幾個調試工具集中講一下。有的朋友已經看過,可是沒有關係。
服務器
通常狀況下,咱們開發調試都是在我的PC上完成,遇到問題,開一下 Pycharm的調試器,很快就能找到問題所在。app
可有些時候,項目代碼的運行會對運行環境有依賴,必須在部署了相關依賴組件的服務器上才能夠運行,這就直接致使了咱們不能在本地進行調試。ssh
對於這種特殊的場景,就我所知,有以下兩種解決方案:ide
pdb工具
Remote Debugspa
本篇文章會先講第二種方案,它是 專業版Pycharm 纔開放的功能,須要你安裝專業版的Pycharm,具體升級破解步驟,請自行 Google,這裏不涉及。3d
遠程調試的意思,是讓咱們能夠在咱們在 PC 上用 Pycharm 的圖形化界面來進行調試代碼,它和本地調試沒有太大的區別,原來怎麼調試的如今仍是怎麼調試。調試
區別就在於,本地調試不須要事前配置,只要你的代碼準備好了,隨時能夠開始 Debug 。而遠程調試須要很多前置步驟,這些設置過程,也是本文的主要內容。blog
首先,要在Pycharm中新建一個空的項目,後面咱們拉服務器上的項目代碼就會放置在這個項目目錄下。我這邊的名字是NOVA,你能夠本身定義。ip
Tools->Deployment->configuration
添加一個Server
Name:填你的服務器ip
Type:設定成SFTP
點擊OK後,進入以下界面,你能夠按個人備註,填寫信息:
SFTP host:公網ip
Port:服務器開放的ssh端口
Root path:要調試的項目代碼目錄
Username:登錄服務器所用的用戶
Auth type:登錄類型,這裏選密碼
Password:登錄密碼,能夠選擇保存密碼
這裏請注意,要確保你的電腦能夠ssh鏈接到你的服務器,不論是密鑰登錄仍是密碼登錄,若是開啓了白名單限制要先解除。
填寫完成後,切換到Mappings選項卡,在箭頭位置,填寫\
以上服務器信息配置,所有正確填寫完成後,點擊OK
接下來,咱們要鏈接遠程服務器了。
Tools -> Deployment -> Browse Remote Host
若是以前填寫的服務器登錄信息準確無誤的話,如今就能夠看到遠程的項目代碼。
選擇下載遠程代碼要本地。
下載完成提示。
如今的IDE界面應該是這樣子的。
爲何須要這步呢?
遠程調試是在遠端的服務器上運行的,它除了依賴其餘組件以外,還會有一些不少Python依賴包咱們本地並無。
進入 File -> Settings
按圖示,添加遠程解釋器。
填寫遠程服務器信息,跟以前的同樣,再也不贅述。
點擊OK後,會自動下載遠程解釋器。若是你的項目比較大,這個時間可能會比較久,請耐心等待。
由於咱們要在本地DEBUG,因此你必定要知道你的項目的入口程序。若是這個入口程序已經包含在你的項目代碼中,那麼請略過這一步。
若是沒有,就請本身生成入口程序。
好比,我這邊的項目,在服務器上是以一個服務運行的,服務的入口是Service文件:/usr/lib/systemd/system/openstack-nova-compute.service
看到那個ExecStart沒有?那個就是咱們程序的入口。
咱們只要將其拷貝至咱們的Pycharm中,並向遠程同步該文件。
開啓 Gevent compatible,若是不開啓,在調試過程當中,極可能出現沒法調試,或者沒法追蹤/查看變量等問題。
在你的程序入口文件處,點擊右鍵,選擇Debug便可。
若是你的程序入口,須要引入參數,這是常常有的事,能夠的這裏配置。
配置完點擊保存便可。