PyInstaller打包UI程序报错:找不到scipy.linalg.basic模块
解决PyInstaller打包后找不到
scipy.linalg.basic的问题 1. 显式指定缺失模块打包
PyInstaller有时无法自动识别scipy的深层子模块,打包时手动添加--hidden-import参数强制引入:
pyinstaller --hidden-import scipy.linalg.basic your_script.py
若后续仍有其他缺失模块,可继续追加参数,比如:
pyinstaller --hidden-import scipy.linalg.basic --hidden-import scipy.linalg your_script.py
2. 通过.spec文件配置依赖
如果需要更灵活的打包配置,先生成.spec文件:
pyinstaller your_script.py
打开生成的your_script.spec,在hiddenimports列表中添加缺失模块:
hiddenimports=['scipy.linalg.basic', 'scipy.linalg'],
再用.spec文件重新打包:
pyinstaller your_script.spec
3. 调整scipy版本兼容性
部分scipy新版本可能和PyInstaller存在适配问题,可尝试降级到稳定兼容版本:
pip install scipy==1.10.1
4. 清理PyInstaller缓存
旧缓存可能残留错误依赖信息,清理后重新打包:
pyinstaller --clean your_script.py
也可手动删除生成的build、dist文件夹及.spec文件后重新执行打包命令。
5. 脚本内显式导入模块
在你的Python脚本开头主动导入缺失模块,帮助PyInstaller检测到依赖:
import scipy.linalg.basic
内容的提问来源于stack exchange,提问作者Albert Deluque
相关产品推荐
相关产品推荐

