Felk版Dolphin模拟器中Numpy导入失败的问题求助
解决Felk版Dolphin模拟器中导入numpy的C扩展错误问题
问题概况
在Felk版Dolphin模拟器中导入numpy时,触发以下错误:
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'- 后续出现ImportError提示numpy C扩展导入失败
已尝试的无效操作:
- 卸载重装对应版本numpy,独立Python3.10/3.12环境导入正常,但模拟器内仍报错
- 使用
--no-python-subinterpreters命令行参数 - 同步常规Python环境的sys.path到模拟器
- 尝试向Dolphin内置的Python312文件夹执行pip安装无反应
- 解压Python312.zip后模拟器无法启动;同时保留zip与解压文件夹时触发
zipimport.ZipImportError
解决步骤
1. 匹配内置Python的numpy版本与架构
- 先确认Dolphin内置Python的位数:在模拟器的Python调试窗口运行:
import platform print(platform.architecture()) - 卸载现有numpy,安装对应位数、对应Python版本的numpy:
- 若为32位Python3.12,执行:
pip install numpy --platform win32 --only-binary=:all: - 确保numpy版本兼容Python3.12(推荐numpy 1.26.x及以上版本)
- 若为32位Python3.12,执行:
2. 调整sys.path添加逻辑,避免版本冲突
- 不同时添加Python3.10和3.12的site-packages,仅保留与Dolphin内置Python匹配的路径,且使用原始字符串避免转义问题:
import sys # 过滤掉其他Python版本的冲突路径 sys.path = [p for p in sys.path if "python310" not in p.lower()] # 添加对应版本的site-packages路径(替换为你的实际路径) sys.path.append(r"c:\users\USER\appdata\local\programs\python\python312\lib\site-packages") import numpy
3. 复制numpy完整目录到Dolphin可访问路径
- 找到Python312的site-packages中的
numpy文件夹 - 将整个
numpy文件夹复制到Dolphin模拟器的根目录,或python312.zip所在的文件夹内(不要解压zip包) - 此操作让模拟器的zipimport机制能直接读取numpy的所有文件(包括C扩展)
4. 替换内置Python zip包为完整解压版(修复启动问题)
- 解压
python312.zip到同一目录,得到python312文件夹 - 删除原有的
python312.zip - 修改Dolphin的启动配置:
- 找到模拟器的启动脚本或配置文件,将指向
python312.zip的路径改为python312文件夹路径 - 或创建批处理文件启动:
Dolphin.exe -pythonpath "你的Dolphin目录\python312"
- 找到模拟器的启动脚本或配置文件,将指向
- 进入
python312\Scripts目录,执行pip install numpy,直接给内置Python安装numpy
5. 验证导入结果
在模拟器的Python调试窗口运行以下代码,确认numpy正常加载:
import numpy print(numpy.__version__) print(numpy.show_config())
内容的提问来源于stack exchange,提问作者Anonymous_person 3205
相关产品推荐
相关产品推荐

