开发者
【运行报错】解决Ragout运行时报错ImportError: cannot import name 'gcd' from 'fractions'
【运行报错】解决Ragout运行时报错ImportError: cannot import name 'gcd' from 'fractions'
发表于2024/01/02
410

参考安装指南:https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/prtg-osc/kunpengragout_02_0006.html

环境信息:

鲲鹏aarch64架构处理器

操作系统:Kylin V10

软件栈:python3.9.8 (注意:指南中的python版本是3.7.9)

问题现象:

按照指南使用python3.9.8安装完成后,运行./ragout -h时出现以下报错

%E6%88%AA%E5%9B%BE.jpg

如果更换python3.7.9安装,则安装后运行无出现此报错

根因分析:

经查阅官方文档https://docs.python.org/3.7/library/fractions.html发现

cke_42466.png

fractions.gcd()用法在python3.5版本后已被math.gcd()取代,但为什么在python3.7版本仍然可以使用呢,继续往下分析

打开fractions.py对比两个版本的差异

%E6%88%AA%E5%9B%BE.jpg

在python3.7.9的fractions.py中把fractions.gcd()用法列入为警告,但在python3.9.8版本中直接将该用法删除了

cke_82900.png

解决方案:

1、使用低版本运行ragout,兼容fractions.gcd()用法

2、如果使用python3.9版本运行ragout,则需将用法fractions.gcd()改成math.gcd()

如:修改dag.py

cke_138286.png

cke_143512.png

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞