PyInstaller打包谷歌翻译应用后报错找不到google-cloud-translate如何解决
问题根因
PyInstaller打包过程中不会自动识别谷歌云系列SDK依赖的包元数据,你代码用到的google-cloud-translate依赖pkg_resources模块读取自身的分发信息,单文件打包时这部分元数据默认没有被封装到可执行文件中,就会触发该报错。而PyCharm运行时调用的是本地完整Python环境,所有依赖的元数据都完整存在,因此运行正常。
修复方案
- 执行打包命令时添加
--collect-metadata参数显式包含google-cloud-translate的元数据:pyinstaller -F --collect-metadata google-cloud-translate 你的入口脚本名.py - 如果执行上述命令后仍然报错,额外添加核心依赖的元数据收集参数即可:
pyinstaller -F --collect-metadata google-cloud-translate --collect-metadata google-api-core 你的入口脚本名.py - 打包前先确认运行代码的Python环境中已经正确安装依赖,执行命令验证:
Windows系统:pip list | findstr google-cloud-translate
Linux/macOS系统:pip list | grep google-cloud-translate
注意必须使用和代码运行环境一致的虚拟环境下的PyInstaller执行打包,不要调用全局环境的PyInstaller,避免依赖不匹配
内容的提问来源于stack exchange,提问作者Thanis Albert
相关产品推荐
相关产品推荐

