基于容器的Python远程动态调试方法及系统技术方案

技术编号:32978552 阅读:14 留言:0更新日期:2022-04-09 12:00
本申请提供一种基于容器的Python远程动态调试方法及系统,该方法包括:获取远程下发的待调试Python代码文件;解析待调试Python代码文件,确定待调试Python代码文件的组件及系统环境依赖列表;依据待调试Python代码文件的组件及系统环境依赖列表,从Python依赖组件与系统环境库中获取对应的组件与系统环境安装包;依据组件与系统环境安装包,在容器中安装待调试Python代码文件依赖的组件与系统环境,得到容器Python调试环境;在容器Python调试环境中运行待调试Python代码文件。该方法可以实现Python代码文件的远程共享调试,提高Python代码文件调试环境的可扩展性。代码文件调试环境的可扩展性。代码文件调试环境的可扩展性。

【技术实现步骤摘要】
基于容器的Python远程动态调试方法及系统


[0001]本申请涉及计算机
,尤其涉及一种基于容器的Python远程动态调试方法及系统。

技术介绍

[0002]当前,以数字化、网络化、智能化为主要特征的互联网、物联网和工业互联网蓬勃兴起,加速推动了全球经济结构、产业结构、国际分工发生深刻变革。在日新月异的发展中,产品需求不断迭代,技术开发的速度不断加快,便捷、高效和易于维护扩展的开发调试环境显得尤为重要。
[0003]然而,传统代码调试方案中,需要在本地搭建专门的代码调试运行环境,无法支持远程调试,且调试环境难以便捷移植扩展。

技术实现思路

[0004]有鉴于此,本申请提供一种基于容器的Python远程动态调试方法及系统。
[0005]具体地,本申请是通过如下技术方案实现的:根据本申请实施例的第一方面,提供一种基于容器的Python远程动态调试方法,包括:获取远程下发的待调试Python代码文件;解析所述待调试Python代码文件,确定所述待调试Python代码文件的组件及系统环境依赖列表;依据所述待调试Python代码文件的组件及系统环境依赖列表,从Python依赖组件与系统环境库中获取对应的组件与系统环境安装包;依据所述组件与系统环境安装包,在容器中安装所述待调试Python代码文件依赖的组件与系统环境,得到容器Python调试环境;在所述容器Python调试环境中运行所述待调试Python代码文件。
[0006]根据本申请实施例的第二方面,提供一种基于容器的Python远程动态调试系统,包括:获取单元,用于获取远程下发的待调试Python代码文件;解析单元,用于解析所述待调试Python代码文件,确定所述待调试Python代码文件的组件及系统环境依赖列表;所述获取单元,还用于依据所述待调试Python代码文件的组件及系统环境依赖列表,从Python依赖组件与系统环境库中获取对应的组件与系统环境安装包;安装单元,用于依据所述组件与系统环境安装包,在容器中安装所述待调试Python代码文件依赖的组件与系统环境,得到容器Python调试环境;调试单元,用于在所述容器Python调试环境中运行所述待调试Python代码文件。
[0007]本申请实施例的基于容器的Python远程动态调试方法,在获取到了远程下发的待
调试Python代码文件的情况下,解析获取到的待调试Python代码文件,确定待调试Python代码文件的组件及系统环境依赖列表,并依据该组件及系统环境依赖列表,从依赖组件与系统环境库中获取对应的组件与系统环境安装包,进而,依据该组件与系统环境安装包,在容器中安装待调试Python代码文件依赖的组件与系统环境,得到容器Python调试环境,并在该容器Python调试环境中运行待调试的Python代码文件,通过采用容器技术实时动态构建Python代码文件调试所需的调试环境,无需在本地搭建专门的Python代码文件调试环境,实现了Python代码文件的远程共享调试,提高了Python代码文件调试环境的可扩展性。
附图说明
[0008]图1为本申请一示例性实施例示出的一种基于容器的Python远程动态调试方法的流程示意图;图2为本申请又一示例性实施例示出的另一种基于容器的Python远程动态调试方法的流程示意图;图3为本申请又一示例性实施例示出的另一种基于容器的Python远程动态调试方法的流程示意图;图4为本申请一示例性实施例示出的一种基于容器的Python远程动态调试方法的流程示意图;图5为本申请实施例提供的一种基于容器的Python远程动态调试系统的结构示意图;图6为本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
[0009]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0010]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0011]为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对本申请实施例提供的技术方案中涉及的部分术语进行简单说明。
[0012]容器技术:指将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求。
[0013]容器化技术:指软件开发的一种方法,在这种方法中,程序和它所依赖的组件和集合包,以及相关的环境变量配置文件都会被完全打包成容器镜像,进行单元测试,最后将这个容器部署到服务器的操作系统中。容器化技术能够更高效的利用系统资源,没有硬件虚拟以及运行完整操作系统等额外开销。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。同时,容器使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得
非常简单。
[0014]虚拟化技术:指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU(Center Process Unit,中央处理单元)的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
[0015]Python:一种跨平台的计算机程序设计语言,属于一种高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
[0016]程序调试:将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。
[0017]为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
[0018]请参见图1,为本申请实施例提供的一种基于容器的Python远程动态调试方法的流程示意图,如图1所示,该基于容器的Python远程动态调试方法可以包括以下步骤:步骤S100、获取远程下发的待调试Python代码文件。
[0019]本申请实施例中,Python代码文件不再局限于本地调试,而是可以通过远程下发的方式,将需要调试的Python代码文件(本文中称为待调试Python代码文件)下发至用于进行Python代码文件的远程调试的容器中。
[0020]例如,用户可以通过网页,将待调试Python代码文件远程下发至用于Python代本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于容器的Python远程动态调试方法,其特征在于,包括:获取远程下发的待调试Python代码文件;解析所述待调试Python代码文件,确定所述待调试Python代码文件的组件及系统环境依赖列表;依据所述待调试Python代码文件的组件及系统环境依赖列表,从Python依赖组件与系统环境库中获取对应的组件与系统环境安装包;依据所述组件与系统环境安装包,在容器中安装所述待调试Python代码文件依赖的组件与系统环境,得到容器Python调试环境;在所述容器Python调试环境中运行所述待调试Python代码文件。2.根据权利要求1所述的方法,其特征在于,所述解析所述待调试Python代码文件之前,还包括:比较所述待调试Python代码文件与上一次远程下发的待调试Python代码文件;在所述待调试Python代码文件与上一次远程下发的待调试Python代码文件不相同的情况下,确定执行所述解析所述待调试Python代码文件的操作。3.根据权利要求2所述的方法,其特征在于,所述比较所述待调试Python代码文件与上一次远程下发的待调试Python代码文件之后,还包括:在所述待调试Python代码文件与上一次远程下发的待调试Python代码文件相同的情况下,将上一次远程下发的待调试Python代码文件的运行结果作为所述待调试Python代码文件的运行结果。4.根据权利要求1所述的方法,其特征在于,所述容器中构建有动态调试与容器调用接口集;所述动态调试与容器调用接口集包括容器文件下发接口以及容器文件运行接口;所述获取远程下发的待调试Python代码文件,包括:获取通过所述容器文件下发接口向所述容器远程下发的待调试Python代码文件;所述在所述容器Python调试环境运行所述待调试Python代码文件,包括:在检测到通过所述容器文件运行接口下发的运行指令的情况下,在所述容器Python调试环境运行所述待调试Python代码文件。5.根据权利要求4所述的方法,其特征在于,所述动态调试与容器调用接口集还包括过程查询接口和/或结果查询接口;所述方法还包括:在接收到通过所述过程查询接口下发的过程查询指令的情况下,获取待调试Python代码文件的运行过程信息,并对所述运行过程信息进行格式化后返回给查询发起方设备;和/或,在接收到通过所述结果查询接口下发的结果查询指令的情况下,获取待调试Python代码文件的运行结果信息,并对所述运行结果信息进行格式化后返回给查询发起方设备。6.根据权利要求1所述的方法,其特征在于,所述容器中构建有Python代码文件自动化解析模块;所述Python代码文件自动化解析模块包含组件依赖分析功能以及系统环境依赖分析功能;所述解析所述待调试Python代码文件,确定所述待调试Python代码文件的组件及系统环境依赖列表,包括:
通过所述Python代码文件自动化解析模块解析所述待调试Python代码文件,确定所述待调试Python代码文件依赖的组件,以及所述待调试Python代码文件依赖的系统环境。7.一种基于容器的Python远程动态调试系统,其特征在于,包括:获取...

【专利技术属性】
技术研发人员:周少鹏王滨王旭毕志城
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1