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

PyInstaller多隐藏导入报错:添加隐藏导入后仍无效求助

解决PyInstaller隐藏导入失效的问题

你操作里的关键错误在于:直接用pyinstaller Sub.py --specpath=test重新打包时,PyInstaller会自动重新生成spec文件,把你之前手动修改的hiddenimports覆盖成空,等于白改了。正确的流程应该是修改spec文件后,基于spec文件来打包,而不是再用脚本名触发重新生成。

下面是正确的操作步骤:

  1. 先确保spec文件生成(如果还没生成):
    运行命令生成初始spec文件到test目录:

    pyinstaller --specpath=test Sub.py
    
  2. 修改spec文件里的隐藏导入:
    找到test目录下的Sub.spec,打开后把hiddenimports行改成:

    hiddenimports=['tkinter','pyautogui','pyAesCrypt'],
    

    保存修改。

  3. 基于修改好的spec文件打包:
    运行命令时直接指定spec文件,而不是原脚本,这样就不会重新生成覆盖你的修改了:

    pyinstaller --specpath=test test/Sub.spec
    

额外的小提示:

  • 有时候pyautogui依赖一些子模块(比如pygetwindow、pyscreeze),如果打包后还是有导入错误,可以把这些也加入hiddenimports列表里。
  • 打包前可以加上--clean参数清理缓存,避免旧的打包残留影响结果:
    pyinstaller --clean --specpath=test test/Sub.spec
    

内容的提问来源于stack exchange,提问作者Merlin Waldhör

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:16:02