背景:使用魔乐社区进行大模型训练环境配置,在anaconda 环境下,出错了。
Multiple frameworks detected, including: {', '.join(_frameworks)}.
(cp310) [openmind@modeler-space- openmind]$ python
Python 3.10.18 (main, Jun 5 2025, 13:08:10) [GCC 11.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
import openmind
Traceback (most recent call last):
File “”, line 1, in
File “/home/openmind/miniconda3/envs/cp310/lib/python3.10/site-packages/openmind/init.py”, line 21, in
from .utils import is_torch_available, is_transformers_available
File “/home/openmind/miniconda3/envs/cp310/lib/python3.10/site-packages/openmind/utils/init.py”, line 34, in
from .import_utils import (
File “/home/openmind/miniconda3/envs/cp310/lib/python3.10/site-packages/openmind/utils/import_utils.py”, line 65, in
CURRENT_FRAMEWORK = get_framework()
File “/home/openmind/miniconda3/envs/cp310/lib/python3.10/site-packages/openmind/utils/import_utils.py”, line 62, in get_framework
raise RuntimeError(f"Multiple frameworks detected, including: {', '.join(_frameworks)}. ")
RuntimeError: Multiple frameworks detected, including: pt, ms.
问题:
有两种框架并存,PyTorch和MindSpore,引入openmind时需要先指定哪种类型。
解决方法:
指定类型,或者删除其中的一种,只保留一种在系统内。
详解:
这个错误再次表明您的环境中同时存在 PyTorch (pt
) 和 MindSpore (ms
),导致 OpenMind 无法确定使用哪个框架。让我们解决这个问题:
解决方案(在 Python 交互环境中操作)
方法 1:设置环境变量后再导入
>>> import os
>>> os.environ["OPENMIND_FRAMEWORK"] = "pt" # 选择 PyTorch
>>> import openmind # 现在应该可以成功导入
方法 2:使用框架选择函数(如果 OpenMind 提供)
>>> import openmind.utils.import_utils as import_utils
>>> import_utils.set_framework("pt") # 显式选择框架
>>> import openmind
永久解决方案(在终端中操作)
1. 检查已安装的框架包
(cp310) [openmind@modeler-space-e4333604-f5a4d040 openmind]$ pip list | grep -E "torch|mindspore"
torch 2.1.0
torch-npu 2.1.0
mindspore 2.6.0
2. 选择保留一个框架(推荐)
# 保留 PyTorch,移除 MindSpore
(cp310) [openmind@modeler-space-e4333604-f5a4d040 openmind]$ pip uninstall mindspore -y
# 或保留 MindSpore,移除 PyTorch
(cp310) [openmind@modeler-space-e4333604-f5a4d040 openmind]$ pip uninstall torch torch-npu -y
3. 添加环境变量到启动脚本(如果必须保留两个)
# 编辑 ~/.bashrc 或环境配置文件
echo 'export OPENMIND_FRAMEWORK="pt"' >> ~/.bashrc
source ~/.bashrc
验证解决方案
# 方法1验证(设置环境变量后导入)
>>> import os
>>> os.environ["OPENMIND_FRAMEWORK"] = "pt"
>>> import openmind # 应该不再报错
>>> print(openmind.__version__)
'1.0.0'
# 方法2验证(移除一个框架后)
(cp310) [openmind@modeler-space-e4333604-f5a4d040 openmind]$ python
>>> import openmind # 应该直接成功
额外建议
-
检查框架依赖:
pip check # 查看是否有其他冲突
-
创建专用环境:
conda create -n openmind-pt python=3.10 conda activate openmind-pt pip install openmind torch torch-npu
-
升级 OpenMind(如果可用):
pip install --upgrade openmind
注意:如果您在使用华为 Ascend NPU,确保只安装了与硬件兼容的框架版本。移除
mindspore
后,PyTorch 通过torch-npu
应该仍然能使用 NPU 加速。