You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyInstaller编译pyradiomics脚本为EXE后在MATLAB调用报错求助

解决PyInstaller打包pyradiomics后MATLAB调用报错的问题

问题根源

PyInstaller默认不会自动打包pyradiomics依赖的schema配置文件(如paramSchema.yaml),当exe在MATLAB中运行时,会临时解压到系统临时目录,但缺少这些必需的配置文件,导致路径找不到报错。

解决方案

方法1:修改PyInstaller命令,手动打包schema文件

找到你的Python环境中radiomics/schemas文件夹的实际路径(比如C:\Python39\Lib\site-packages\radiomics\schemas),然后用--add-data参数强制打包该文件夹:

pyinstaller -F -w --add-data "实际路径/radiomics/schemas;radiomics/schemas" FeatureExtraction.py
  • Windows系统用分号;分隔源路径和目标路径,Linux/macOS用冒号:。

方法2:修改脚本指定schema绝对路径

在FeatureExtraction.py中手动指定paramSchema.yaml的本地绝对路径,绕过临时目录的依赖:

import os
from radiomics import featureextractor

# 替换为你本地paramSchema.yaml的真实路径
schema_path = r"C:\Python39\Lib\site-packages\radiomics\schemas\paramSchema.yaml"
extractor = featureextractor.RadiomicsFeatureExtractor(schema_path)

修改后重新用PyInstaller打包即可。

方法3:使用pyradiomics官方打包配置

pyradiomics官方提供了适配PyInstaller的.spec配置文件,直接用该文件打包:

  1. 获取官方的FeatureExtraction.spec文件
  2. 执行打包命令:
pyinstaller FeatureExtraction.spec

该配置已预设好所有需要打包的依赖文件,能避免缺失schema的问题。

验证步骤

打包完成后先双击exe确认能正常运行,再在MATLAB中用system('FeatureExtraction.exe 你的参数')调用,检查报错是否消失。

内容的提问来源于stack exchange,提问作者JunjiwWen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:35:37