Godot导出含Python虚拟环境的OCR程序失效问题求助
解决Godot导出时包含Python资源的问题
1. 添加Python文件/虚拟环境到导出白名单
Godot默认只导出它识别的资源类型,Python相关文件需要手动加入导出列表:
- 打开项目设置(Project > Project Settings)
- 切换到Export选项卡,找到Resources下的Filters区域
- 在Include Files中添加匹配规则:
- 导出所有Python脚本:
*.py - 导出整个虚拟环境文件夹(如
.venv):.venv/**(**表示包含所有子目录及文件) - 导出指定目录下的Python文件:
scripts/**.py(替换为你的脚本实际路径)
- 导出所有Python脚本:
- 确认后保存设置,重新导出项目
2. 修正Python脚本的调用路径
复制文件后仍无响应,大概率是调用路径写死(用了绝对路径),导出后程序运行路径改变导致找不到文件:
- 在Godot脚本中使用相对路径拼接,示例代码:
# 获取可执行文件所在目录 var exe_dir = OS.get_executable_path().get_base_dir() # 拼接虚拟环境的Python解释器路径(Windows示例) var python_exe = exe_dir + "/.venv/Scripts/python.exe" # 拼接OCR脚本路径 var ocr_script = exe_dir + "/ocr_script.py" - 这样无论程序放在哪个路径,都能正确定位到Python资源
3. 验证导出资源完整性
- 导出时选择导出为文件夹而非.zip,直接查看导出目录是否包含Python文件和虚拟环境
- 如果资源仍未被导出,检查Include Files的规则是否正确(注意路径格式,比如文件夹名是否带点前缀)
4. 提升兼容性的替代方案
开发机创建的虚拟环境可能在目标机器上不兼容,可改用以下方式:
- 用PyInstaller将OCR脚本打包成独立的.exe文件,直接在Godot中调用这个可执行文件,无需依赖虚拟环境
- 打包时确保包含所有OCR依赖库(如Tesseract、Pytesseract等)
内容的提问来源于stack exchange,提问作者Mohammed Al-Salmi
相关产品推荐
相关产品推荐

