首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】Python项目第三方库依赖自动化解析与安装方法_厦门大学_202210554316.X 

申请/专利权人:厦门大学

申请日:2022-05-20

公开(公告)日:2024-06-04

公开(公告)号:CN114780109B

主分类号:G06F8/61

分类号:G06F8/61;G06F8/71;G06F8/41

优先权:

专利状态码:有效-授权

法律状态:2024.06.04#授权;2022.08.09#实质审查的生效;2022.07.22#公开

摘要:Python项目第三方库依赖自动化解析与安装方法,涉及软件可靠性检测技术领域。首先收集Python包管理仓库PyPI上所有第三库的数据,形成本地知识库;输入一个Python项目,解析其配置文件,获取该项目所有的直接依赖;根据本地知识库构建该项目包含所以直接依赖和间接依赖以及其所有符合约束范围版本的完全依赖树,再求解出所有满足约束范围的版本;根据本地环境中已安装的第三方库来输出最终的安装脚本。本方法解析推荐的库能够在满足项目约束的同时尽可能复用本地已安装的第三方库。实现Python项目第三方库的自动解析、安装和复用。节省用户安装项目所需的下载时间和安装时间以及减少硬盘空间使用。

主权项:1.Python项目第三方库依赖自动化解析与安装方法,其特征在于包括如下步骤:步骤1:获取Python生态社区中所有第三方库的详细信息,包括库名、版本和其所有所需的直接依赖,构建本地知识库;步骤2:获取Python项目的依赖配置文件,setup.py或者reqiurements.txt;步骤3:构建项目的完全依赖树,生成SMT表达式并求解约束范围;步骤4:根据本地环境中已安装的第三方库来优化已经生成的SMT表达式,具体步骤如下:步骤4.1:获取本地环境中已安装的第三方库列表package_list;步骤4.2:对于package_list中的每一个第三方库的每一个版本,从高版本到低版本依次加入步骤3中的SMT表达式,使用约束求解器判断是否满足;步骤4.3:若满足,则证明当前版本符合SMT约束范围,可以被复用,所以保留;步骤4.4:若不满足,则回滚SMT表达式的状态,然后继续加入下一个版本,直到SMT表达式中出现过的所有包都被遍历一遍则停止;步骤5:经过步骤4中的优化操作后,获取最终的SMT表达式,然后求解,获取Python项目所需的所有第三方库,其版本为满足版本约束范围内的最新版本,输出安装脚本;步骤6:对于步骤5中的安装脚本,依次安装其中的所有第三方依赖到项目所在的本地环境中,如存在可复用的第三方库,则使用软连接的方式,链接到项目所在的环境中。

全文数据:

权利要求:

百度查询: 厦门大学 Python项目第三方库依赖自动化解析与安装方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。