天天看點

如何遠端調試Python代碼

這是一篇小記。

平時使用python寫的代碼對外部依賴性都不複雜,這些代碼在本地調試,運作沒問題之後,就可以放到生産去跑了。然而,最近的一個項目,由于使用了一些内部服務,需要連接配接到内部的環境進行調試。

如果每次都修改代碼之後,釋出一次到内部環境運作測試,這樣子操作流程略顯繁瑣了。于是乎,我就查閱了一些資料,發現我平時使用的Pycharm可以提供代碼遠端調試的功能,正好也可以解決我的問題。

首先來說一說代碼遠端調試。顧名思義,代碼遠端調試就是讓我們可以在本地對遠端的代碼進行運作和輸出日志檢查,進而根據運作和日志情況,對代碼進行修改,再重複這個過程,直到代碼滿足需求。

通常情況,我們需要手動去更新代碼到遠端,這個過程比較繁瑣。而Pycharm提供了一個Deployment的功能,它将我們的本地代碼和指定遠端伺服器代碼做了映射。所有對本地代碼産生的變化,都會自動或手動更新到遠端伺服器上,然後我們通過Pycharm自帶的Terminal就可以進行代碼運作和日志檢閱了。

下面,來看看如何配置Pycharm的Deployment功能。

<code>菜單欄</code>==&gt;<code>Tools</code>==&gt;<code>Deployment</code>==&gt;<code>Configuration</code>

<a href="http://s2.51cto.com/wyfs02/M02/7F/89/wKioL1ch3m6wPMPtAAK8kol0DBg426.jpg" target="_blank"></a>

點選+号添加新的Server,在Name欄填入自定義名稱,在Type欄選擇代碼同步的類型,預設是FTP,我們這裡使用SFTP類型。

<a href="http://s2.51cto.com/wyfs02/M00/7F/8B/wKiom1ch3bOBmtwVAAFk7E2i0fg746.jpg" target="_blank"></a>

添加Server之後,在新的配置頁面填寫紅色指針指向的伺服器連接配接資訊。注意<code>Root path</code>填寫的是你代碼同步的相對根目錄。

<a href="http://s4.51cto.com/wyfs02/M01/7F/8B/wKiom1ch3cGCTtsGAAKLdE_x1UI478.jpg" target="_blank"></a>

<code>Local path</code>框為你本地的項目代碼目錄

<code>Deployment path on server 'test'</code>框為代碼在遠端伺服器的代碼目錄

<a href="http://s2.51cto.com/wyfs02/M01/7F/89/wKioL1ch3p_Cp78DAAIHsuId-8A524.jpg" target="_blank"></a>

<code>菜單欄</code>==&gt;<code>Tools</code>==&gt;<code>Deployment</code>==&gt;<code>Options</code>

<a href="http://s2.51cto.com/wyfs02/M00/7F/89/wKioL1ch3q-Bhsh8AAK5Ij3t7MY298.jpg" target="_blank"></a>

将配置項<code>Upload changed files automatically to the default server</code>選擇為<code>On explicit save action</code>,這樣子每次我們按<code>command+s</code>的時候,修改的代碼就可以自動同步到遠端了。

<a href="http://s1.51cto.com/wyfs02/M01/7F/8B/wKiom1ch3fHhSfYrAANfqGMulUQ729.jpg" target="_blank"></a>

經過如上的配置,Deployment功能就已經配置完畢了,代碼已經可以自動同步到遠端了。此時,我們可以使用SSH Terminal,進行程序啟動和日志檢閱。

<code>菜單欄</code>==&gt;<code>Tools</code>==&gt;<code>Deployment</code>==&gt;<code>Start SSH Session</code>

<a href="http://s5.51cto.com/wyfs02/M02/7F/8B/wKiom1ch3gDyk2CWAALd37xoRPU562.jpg" target="_blank"></a>

在彈出的選框中,選擇你需要連接配接的遠端伺服器。

<a href="http://s5.51cto.com/wyfs02/M02/7F/89/wKioL1ch3tuR9bfLAADk30ua0tI756.jpg" target="_blank"></a>

到此,我們的python代碼的遠端調試功能就已經設定好了。

本文轉自 aaao 51CTO部落格,原文連結:http://blog.51cto.com/nolinux/1768708,如需轉載請自行聯系原作者