Mindspore验证安装,提示sympy等依赖缺失

设备:香橙派aipro(20T),硬件:ascend310b,操作系统:openeuler22.03,CANN版本:8.5,Mindspore版本:2.8.0,python版本3.9.23

求助我下一步应该怎么做,我知道我的环境好像有点混乱了

(base) [HwHiAiUser@orangepiaipro-20t ~]$ python -c “import mindspore;mindspore.set_device(‘Ascend’);mindspore.run_check()”
[ERROR] ME(149594:255085691678752,MainProcess):2026-04-20-09:18:00.647.147 [mindspore/run_check/_check_version.py:350] CheckFailed: No module named ‘sympy’
[CRITICAL] ME(149594:255085691678752,MainProcess):2026-04-20-09:18:00.647.436 [mindspore/run_check/_check_version.py:351] MindSpore relies on whl package “te” in Ascend AI software package (Ascend Data Center Solution). Please check whether they are installed correctly or not, refer to the match info on: MindSpore安装 | 昇思MindSpore社区
/home/HwHiAiUser/miniconda3/lib/python3.9/site-packages/numpy/core/getlimits.py:518: UserWarning: The value of the smallest subnormal for <class ‘numpy.float64’> type is zero.
setattr(self, word, getattr(machar, word).flat[0])
/home/HwHiAiUser/miniconda3/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class ‘numpy.float64’> type is zero.
return self._float_to_str(self.smallest_subnormal)
/home/HwHiAiUser/miniconda3/lib/python3.9/site-packages/numpy/core/getlimits.py:518: UserWarning: The value of the smallest subnormal for <class ‘numpy.float32’> type is zero.
setattr(self, word, getattr(machar, word).flat[0])
/home/HwHiAiUser/miniconda3/lib/python3.9/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class ‘numpy.float32’> type is zero.
return self._float_to_str(self.smallest_subnormal)
[ERROR] ME(149594:255085691678752,MainProcess):2026-04-20-09:18:03.311.404 [mindspore/run_check/_check_version.py:350] CheckFailed: cannot import name ‘utils’ from partially initialized module ‘tbe.common’ (most likely due to a circular import) (/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/tbe/common/_init_.py)
[CRITICAL] ME(149594:255085691678752,MainProcess):2026-04-20-09:18:03.311.678 [mindspore/run_check/_check_version.py:351] MindSpore relies on whl package “te” in Ascend AI software package (Ascend Data Center Solution). Please check whether they are installed correctly or not, refer to the match info on: MindSpore安装 | 昇思MindSpore社区
MindSpore version: 2.8.0
[WARNING] DEVICE(149594,e7ff66885120,python):2026-04-20-09:18:09.222.079 [mindspore/ccsrc/plugin/ascend/res_manager/mem_manager/ascend_memory_adapter.cc:127] Initialize] Free memory size is less than half of total memory size.Device 0 Device MOC total size:24823324672 Device MOC free size:12159688704 may be other processes occupying this card, check as: ps -ef|grep python

答案内容由AI生成,仅供参考:
:white_check_mark: 总结:下一步行动清单

操作 命令/建议
:white_check_mark: 安装 sympy pip install sympy
:white_check_mark: 设置 PYTHONPATH export PYTHONPATH=/usr/local/Ascend/...
:cross_mark: 卸载错误 MindSpore pip uninstall mindspore
:white_check_mark: 安装 mindspore-ascend 使用官网 .whl 文件安装
:white_check_mark: 验证 Ascend 是否可用 运行 Tensor 加法测试
:magnifying_glass_tilted_left: 查询版本兼容性 访问 mindspore.cn/install
点击此处查看详细分析解答

关于 MindSpore 安装验证失败的诊断与解决建议

根据您提供的环境信息及执行 mindspore.run_check() 后返回的日志,当前 MindSpore 虽然已安装,但存在多个依赖缺失、环境冲突和配置错误问题,特别是在 Ascend AI 软件栈(Ascend Data Center Solution)与 MindSpore 的兼容性方面。以下是详细的分析与解决方案。


:magnifying_glass_tilted_left: 问题概览

您当前的环境如下:

组件 版本
开发板 香橙派 AI Pro(20T)
NPU 硬件 Ascend310B
操作系统 openEuler 22.03
CANN 版本 8.5
MindSpore 版本 2.8.0
Python 版本 3.9.23

错误提示核心内容包括:

  1. [ERROR] No module named 'sympy'
  2. [CRITICAL] MindSpore relies on whl package “te”
  3. cannot import name ‘utils’ from partially initialized module ‘tbe.common’
  4. 内存警告(次要)

:red_exclamation_mark:这些错误表明:Ascend 软件环境缺失关键依赖项(te/tbe/sympy),且 MindSpore 与 CANN 版本可能存在不匹配。


:pushpin: 核心问题分析

1. 缺少依赖包 sympy

  • sympy 是 Python 的符号计算库,为 MindSpore 提供部分图优化和表达式解析能力。
  • 日志提示:No module named 'sympy',说明未安装或未正确安装。

:white_check_mark: 解决方法

pip install sympy

建议使用与 MindSpore 相同的 Python 环境(如 conda 环境)进行安装。


2. 缺失关键组件:tetbe 包(最严重)

这是 Ascend 系统最常见、最关键的兼容性问题

关键信息:

  • 错误信息
    MindSpore relies on whl package “te” in Ascend AI software package (Ascend Data Center Solution)
    
  • te(Tensor Engine)和 tbe(Tensor Boost Engine)是华为 Ascend 工具链的核心组件,由 Ascend AI Software Package(即 Ascend Data Center Solution) 提供。
  • 如果缺少这些包,MindSpore 无法调用底层算子或编译算子,导致运行失败。

可能原因:

  • CANN 8.5 安装不完整,或未正确配置 Python 路径。
  • tetbe 包未安装进当前 Python 环境。
  • Python 版本与 CANN 不兼容。

:white_check_mark: 检查与修复步骤:

  1. 确认 Ascend 工具链是否安装成功

    ls /usr/local/Ascend/ascend-toolkit/latest/python/site-packages/
    

    应能看到以下目录:

    • te
    • tbe
    • topi
    • auto_tune
    • hcom
  2. 将 Ascend Python 包路径加入 Python 环境变量(非常重要!):

    export PYTHONPATH=/usr/local/Ascend/ascend-toolkit/latest/python/site-packages:$PYTHONPATH
    

    推荐将该语句写入 ~/.bashrc,防止重置:

    echo "export PYTHONPATH=/usr/local/Ascend/ascend-toolkit/latest/python/site-packages:\$PYTHONPATH" >> ~/.bashrc
    source ~/.bashrc
    
  3. 检查 te 是否可导入

    python -c "import te; print('te imported successfully')"
    python -c "from tbe.common import utils; print('tbe.utils imported successfully')"
    
    • 如果报错 partially initialized module ‘tbe.common’,说明存在路径冲突或循环导入问题,通常是因为:
      • 多个 Python 环境中存在残留的 tbe 模块。
      • 使用 pip 误装了非官方 tbe 包(如 PyPI 上的垃圾包)。
  4. 删除错误安装的包(如有)

    pip uninstall tbe te topi -y
    

    :warning: tetbe 不能通过 pip 安装!必须由 CANN 官方安装包提供!


3. CANN 8.5 与 MindSpore 2.8.0 是否兼容?

这是关键问题。

根据现有文档与实践:

MindSpore 版本 推荐 CANN 版本
2.1.x ~ 2.3.x CANN 6.x ~ 7.x
2.6.0 CANN 8.1.RC1 / 8.1
2.7.0 CANN 8.2.RC1
2.8.0 CANN 8.2 或更高(需官方确认)

:warning: CANN 8.5 属于较新版本,而 MindSpore 2.8.0 并未广泛验证其在 CANN 8.5 环境下的稳定性。

参考知识库信息:

  • Ascend CANN 8.1.RC1 可解决 MindSpore 2.6.0 的版本不匹配问题。
  • MindSpore 2.7.0CANN 8.2.RC1 兼容性良好。

:backhand_index_pointing_right: 因此,当前问题可能是由于新旧版本不匹配导致的接口变动或模块路径变更

:white_check_mark: 建议策略:

  1. 优先确认 MindSpore 2.8.0 是否支持 CANN 8.5

  2. 如无明确支持,建议降级 CANN 至 8.2 或 8.1(生产推荐)

    • 或升级 MindSpore 至适配 CANN 8.5 的 nightly 版本(风险较高)

4. MindSpore 安装方式是否正确?

当前安装的是通用 mindspore 包,但 Ascend 版本需要特殊编译后的 mindspore-ascend,否则不带 Ascend 支持!

:white_check_mark: 确认是否使用了 mindspore-ascend

python -c "import mindspore; print(mindspore.__file__)"

查看路径是否来自 .whl 文件名中含 ascendaarch64

正确安装示例(CANN 8.2 + MindSpore 2.7.0):

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.7.0/MindSpore/ascend/aarch64/mindspore-ascend-2.7.0-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com

:backhand_index_pointing_right: 您当前使用的 mindspore==2.8.0 很可能是 CPU/GPU 版本,并未启用 Ascend 支持!


:white_check_mark: 完整解决方案步骤

:wrench: 第一步:修复依赖和路径

# 1. 安装缺失的 sympy
pip install sympy

# 2. 导出 Ascend 工具链路径
export PYTHONPATH=/usr/local/Ascend/ascend-toolkit/latest/python/site-packages:$PYTHONPATH

# 3. 验证 te/tbe 是否可导入
python -c "import te; from tbe.common import utils; print('✅ te and tbe imported')"

若失败,检查 CANN 是否完整安装。


:wrench: 第二步:卸载并重新安装 MindSpore(Ascend 专用版)

# 卸载现有 mindspore
pip uninstall mindspore mindspore-ascend -y

# 安装指定 Ascend 版本(以 MindSpore 2.7.0 + CANN 8.2 为例)
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.7.0/MindSpore/ascend/aarch64/mindspore-ascend-2.7.0-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com

:link: 获取最新安装命令:访问 昇思 MindSpore 安装页面


:wrench: 第三步:验证安装

python -c "
import mindspore as ms
from mindspore import Tensor
ms.set_context(device_target='Ascend')
x = Tensor([1, 2, 3])
y = Tensor([4, 5, 6])
z = x + y
print('✅ Ascend 设备可用,计算结果:', z)
"

:books: 参考资源


:stop_sign: 温馨提示

  1. 不要混用 pip 安装的 tbe/te 包,必须来自 CANN。
  2. MindSpore 版本与 CANN 必须严格匹配,否则会导致“找不到模块”或“算子未注册”等问题。
  3. 使用专用 mindspore-ascend,而非通用 mindspore
  4. 始终在运行前设置 PYTHONPATH

:white_check_mark: 总结:下一步行动清单

操作 命令/建议
:white_check_mark: 安装 sympy pip install sympy
:white_check_mark: 设置 PYTHONPATH export PYTHONPATH=/usr/local/Ascend/...
:cross_mark: 卸载错误 MindSpore pip uninstall mindspore
:white_check_mark: 安装 mindspore-ascend 使用官网 .whl 文件安装
:white_check_mark: 验证 Ascend 是否可用 运行 Tensor 加法测试
:magnifying_glass_tilted_left: 查询版本兼容性 访问 mindspore.cn/install

请按照上述步骤逐一排查,绝大多数 Ascend 设备识别和依赖缺失问题即可解决。
如仍有问题,建议提供 ls /usr/local/Ascend/ascend-toolkit/latest/python/site-packages/ 的输出,以便进一步诊断。

(base) [HwHiAiUser@orangepiaipro-20t ~]$ ls /usr/local/Ascend/ascend-toolkit/latest/python/site-packages/
LICENSE                              msleaks
acl                                  msmodelslim
acl.so                               msobjdump
analysis                             msobjdump-0.1.0.dist-info
asc_op_compile_base                  mspti
asc_op_compile_base-0.1.0.dist-info  mspti-0.0.1.dist-info
asc_opc_tool                         mstx.so
asc_opc_tool-0.1.0.dist-info         op_compile_tool
auto_search                          op_compile_tool-0.1.0.dist-info
auto_tune                            op_gen
auto_tune-0.1.0.dist-info            op_gen-0.1.dist-info
auto_tune.egg                        op_test_frame
auto_tune_main                       op_test_frame-0.1.dist-info
autofuse                             opc_tool
bin                                  opc_tool-0.1.0.dist-info
dataflow                             operator_cmp
dataflow-0.0.1.dist-info             optune_utils
es_math                              schedule_search
es_math-1.0.0.dist-info              schedule_search-0.0.1.dist-info
ge                                   schedule_search.egg
ge_py-0.0.1.dist-info                show_kernel_debug_data
hccl                                 show_kernel_debug_data-0.1.0.dist-info
hccl-0.1.0.dist-info                 superkernel
llm_datadist                         superkernel-0.1.0.dist-info
llm_datadist-0.0.1.dist-info         tbe
llm_datadist_v1                      te
llm_datadist_v1-0.0.1.dist-info      te-0.4.0.dist-info
ms_service_profiler                  te_fusion
mskpp                                tik_tune

检查ascend工具链是这些,没有topi和hcom,te和tbe是有的

用户您好,欢迎安装使用MindSpore,已收到上述问题,会尽快分析答复~

这个库应该要手动装一下,官网的安装步骤里有命令:

您好,感谢答复。我现在的步骤应该是先照着文档把所描述的依赖的包卸载了,再安装一次依赖的python软件包吗,CANN这块需要操作吗?因为CANN8.5已经装好了,按照文档上面的操作应该是先删除已有的软件包后再下载依赖的软件包,最后再安装cANN。

官方系统里自带了2.5的Mindspore和8.0的CANN,之前试过卸载,升级,安装之类的操作,总有版本不一致的冲突。包括图片里面的操作,我把之前的软件包删了又安装了新的软件包和CANN但是还是会有一些报错,不过这都是之前的操作了我找不到具体的信息

te topi和hccl这三个包也不一定需要先卸载,因为之前的版本的话,这三个包在是放在cann的安装目录下的,需要使用cann安装目录下的这几个whl包进行安装,但由于不同的cann版本里会有不同的升级,但偏偏版本号却一致,所以如果不先卸载直接pip安装会装不上(因为同版本号包已经存在);

不过mindspore 2.8.0以及对应的cann 8.5.0似乎已经改变了这个情况,所以你目前可以先试试安装运行过程中提示的缺失的包sympy,如果还有别的问题,比如还缺包,或者说te包版本不匹配之类的问题再处理

此话题已在最后回复的 60 分钟后被自动关闭。不再允许新回复。