天天看点

如何远程调试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,如需转载请自行联系原作者