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

含bpy模块的Python脚本转exe失败问题求助

问题分析
  • 用auto-py-to-exe打包依赖bpy的Python脚本时,出现scripts/modules、bpy_types、_bpy等模块缺失报错,且报错路径指向旧版Blender 3.4,核心原因:
    1. bpy是Blender内置专属模块,依赖Blender完整的Python环境与二进制运行库,普通Python环境无法正确识别其依赖结构。
    2. 系统环境或bpy模块配置中残留了旧版Blender的路径信息。
解决方案

1. 切换到Blender自带的Python环境打包

bpy仅能在Blender内置的Python环境中正常工作,必须用Blender 3.5自带的Python安装并运行auto-py-to-exe:

  • 找到Blender 3.5的Python路径,示例:C:\Program Files\Blender Foundation\Blender 3.5\3.5\python\bin
  • 打开命令行进入该目录,执行:
    python.exe -m pip install auto-py-to-exe
    
  • 启动auto-py-to-exe:
    python.exe -m auto_py_to_exe
    

2. 完整添加bpy的所有依赖文件

bpy包含大量二进制模块(如_bpy.pyd),仅添加.py文件无法满足需求:

  • 在auto-py-to-exe的「Additional Files」中,添加Blender 3.5的bpy模块完整目录(路径示例:C:\Program Files\Blender Foundation\Blender 3.5\3.5\python\Lib\site-packages\bpy)
  • 额外添加Blender根目录下的blender.exe,以及3.5\python\DLLs目录下的核心运行库,确保打包后的exe能调用到Blender的运行环境。

3. 修正旧版Blender路径残留

  • 检查系统环境变量,删除或替换指向Blender 3.4的变量(如BLENDER_SYSTEM_SCRIPTS),改为Blender 3.5的对应路径。
  • 在脚本开头添加路径修正代码,强制指定Blender 3.5的模块路径:
    import sys
    import os
    # 替换为你的Blender 3.5 Python site-packages路径
    blender_python_lib = r"C:\Program Files\Blender Foundation\Blender 3.5\3.5\python\Lib\site-packages"
    if blender_python_lib not in sys.path:
        sys.path.insert(0, blender_python_lib)
    

4. 优先选择单目录打包模式

单文件模式会将所有文件压缩到临时目录,容易丢失bpy的二进制依赖,建议使用「单目录」模式打包,所有依赖文件与exe放在同一目录,便于调试和补充缺失文件。

5. 解决_bpy模块缺失问题

_bpy是编译后的.pyd二进制文件,位于Blender的bpy模块目录下,确保在「Additional Files」中完整添加了整个bpy目录,打包后_bpy.pyd需存放在exe同目录的bpy文件夹内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:30:45