如何远程调试Python代码

这是一篇小记。

平时使用python写的代码对外部依赖性都不复杂,这些代码在本地调试,运行没问题之后,就可以放到生产去跑了。然而,最近的一个项目,由于使用了一些内部服务,需要连接到内部的环境进行调试。
如果每次都修改代码之后,发布一次到内部环境运行测试,这样子操作流程略显繁琐了。于是乎,我就查阅了一些资料,发现我平时使用的Pycharm可以提供代码远程调试的功能,正好也可以解决我的问题。

首先来说一说代码远程调试。顾名思义,代码远程调试就是让我们可以在本地对远端的代码进行运行和输出日志检查,从而根据运行和日志情况,对代码进行修改,再重复这个过程,直到代码满足需求。
通常情况,我们需要手动去更新代码到远端,这个过程比较繁琐。而Pycharm提供了一个Deployment的功能,它将我们的本地代码和指定远端服务器代码做了映射。所有对本地代码产生的变化,都会自动或手动更新到远端服务器上,然后我们通过Pycharm自带的Terminal就可以进行代码运行和日志检阅了。

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

一、打开Deployment配置菜单

菜单栏==>Tools==>Deployment==>Configuration

二、配置远端服务器

1、增加远端服务器

点击+号添加新的Server,在Name栏填入自定义名称,在Type栏选择代码同步的类型,默认是FTP,我们这里使用SFTP类型。

2、配置连接信息

添加Server之后,在新的配置页面填写红色指针指向的服务器连接信息。注意Root path填写的是你代码同步的相对根目录。

3、配置目录映射信息

Local path框为你本地的项目代码目录
Deployment path on server ‘test‘框为代码在远程服务器的代码目录

三、配置变更文件自动同步

菜单栏==>Tools==>Deployment==>Options

将配置项Upload changed files automatically to the default server选择为On explicit save action,这样子每次我们按command+s的时候,修改的代码就可以自动同步到远端了。

四、使用SSH Terminal

经过如上的配置,Deployment功能就已经配置完毕了,代码已经可以自动同步到远端了。此时,我们可以使用SSH Terminal,进行进程启动和日志检阅。
菜单栏==>Tools==>Deployment==>Start SSH Session

在弹出的选框中,选择你需要连接的远端服务器。

到此,我们的python代码的远程调试功能就已经设置好了。

时间: 2024-10-04 19:49:13

如何远程调试Python代码的相关文章

最简单方法远程调试Python多进程子程序

Python 2.6新增的multiprocessing,即多进程,给子进程代码调试有点困难,比如python自带的pdb如果直接在子进程代码里面启动会抛出一堆异常,原因是子进程的stdin/out/err等文件都已关闭,pdb无法调用.据闻winpdb.Wing IDE的调试器能够支持这样的远程调试,但似乎过于重量级(好吧前者比后者要轻多了,但一样要wxPython的环境,再说pdb的灵活可靠它们难以比拟). 其实只需稍作改动即可用pdb继续调试子进程的代码,思路来自这个博客:子进程的stdi

Tomcat使用MyEclipse远程调试Java代码配置详解

Tomcat使用MyEclipse远程调试Java代码总结如下:在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步.配置tomcat一.在windows系统中:打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket

IDEA远程调试服务器代码

先在idea添加一个remote,host填服务器ip,port填监听服务器端口,默认5005 然后在服务器tomcat catalina.sh 添加(红色部分): JAVA_OPTS="$JAVA_OPTS -Dsuperdiamond.projcode=desktop-web -Dsuperdiamond.host=***.***.***.*** -Dsuperdiamond.port=8283 -Dsuperdiamond.profile=production -agentlib:jdwp

在Linux下调试Python代码的各种方法

这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记. 日志 是的,的确,不得不强调足够的日志记录对应用程序是多么的重要.您应该记录重要的东西,如果你的记录足够好的话,你可以从日志中找出问题从而节省大量的时间. 如果你曾经用print语句来调试代码现在停下吧,用logging.debug替代,开始可以慢慢来,以后完全禁用它... 追踪有时看到程序如何被执行会很有帮助.你可以使用IDE的调试共轭ngn一步一步的运行程序,但你需要知道你要找的是什么,否则这将会是一

Python - 调试Python代码的方法

调试(debug) 将可疑环节的变量逐步打印出来,从而检查哪里是否有错. 让程序一部分一部分地运行起来.从核心功能开始,写一点,运行一点,再修改一点. 利用工具,例如一些IDE中的调试功能,提高调试效率. Python CMD python -m trace -t <py file> python -m dis <py file> 内置trace模块:打印所有执行的语句 内置dis模块:分析字节码 Linux strace -p pid # 用系统命令跟踪系统调用 PyCharm

eclipse 远程调试hadoop代码

zxxJPDA 简介 Sun Microsystem 的 Java Platform Debugger Architecture (JPDA) 技术是一个多层架构,使您能够在各种环境中轻松调试 Java 应用程序.JPDA 由两个接口(分别是 JVM Tool Interface 和 JDI).一个协议(Java Debug Wire Protocol)和两个用于合并它们的软件组件(后端和前端)组成.它的设计目的是让调试人员在任何环境中都可以进行调试. 更详细的介绍,您可以参考使用 Eclips

java远程调试(idea)

遇见一个怪异问题,无奈线上数据库有限制,只能远程调试下代码.突然发现,远程调试代码真的好简单,简单记录下操作步骤. 1.在idea里创建一个Remote,远程连接的入口. 找到 Edit Configgurations 这个选项. 找到左上角的加号,新建一个Configguration. 找到Remote,这就是远程调用的入口. a.修改远程服务器的ip b.这个端口是我们远程调用时候使用的端口,不是tomcat服务器的端口 c.选择与线上匹配的项目源码.然后得到箭头的参数. 2.设置Tomca

基于Eclipse远程调试解决的预上线首页打开特别慢的问题

预上线首页打开特别慢 network标签中,由上图可以看出getNewsList.do是最耗时的,使用了2.13s(出现问题时是30s). 使用Tomcat的Remote Application远程调试debug代码,逐行分析原因,最终确定是因为数据源的问题,修改配置文件重新启动,问题得以解决. 原文地址:https://www.cnblogs.com/BINGJJFLY/p/9395187.html

python远程调试

from: https://www.xncoding.com/2016/05/26/python/pycharm-remote.html 你是否经常要在Windows 7或MAC OS X上面开发Python或Web应用程序,但是它们最后需要在linux上面来运行呢? 我们经常会碰到开发时没有问题但是到了正式的Linux环境下面却出现问题.那么怎样保证开发环境跟运行环境的一致呢? 通常有两种方法解决.一种是使用PyCharm内置支持的Vagrant,这个教程可以参考Vagrant开发环境配置.