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

Pyinstaller打包YouTube下载器时出现No module named pytube错误如何解决?

No module named pytube报错截图

报错原因

PyInstaller打包时默认仅扫描代码中显式导入的依赖,当存在动态导入pytube、打包环境和代码运行环境不一致的情况时,pytube模块不会被自动打包进可执行文件,运行时就会触发该报错。

修复方案
  • 方案1:打包时显式声明隐藏导入
    运行PyInstaller命令时添加--hidden-import pytube参数即可,示例命令如下:
    pyinstaller --onefile --hidden-import pytube 你的脚本文件名.py
    
    如果你开发的是GUI程序,可以额外添加--windowed参数隐藏控制台窗口。如果后续运行还提示pytube子模块缺失,可以将参数改为--hidden-import pytube --hidden-import pytube.*。
  • 方案2:对齐Python运行和打包环境
    先执行pip list确认当前环境已安装pytube,若未安装先执行pip install pytube。
    如果你使用了虚拟环境,需确保你调用的PyInstaller是当前虚拟环境内安装的版本,不要调用全局环境的PyInstaller,避免跨环境依赖缺失。
  • 方案3:通过spec文件配置导入
    如果你已经生成过打包对应的.spec文件,可以直接编辑该文件,在hiddenimports数组中添加'pytube':
    a = Analysis(
        ['你的脚本文件名.py'],
        pathex=[],
        binaries=[],
        datas=[],
        hiddenimports=['pytube'], # 此处添加pytube依赖
        hookspath=[],
        hooksconfig={},
        runtime_hooks=[],
        excludes=[],
        cipher=block_cipher,
        noarchive=False
    )
    
    编辑完成后直接用spec文件重新打包即可:
    pyinstaller 你的脚本文件名.spec
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:39:07