尝试使用cx_freeze、bbfreeze、pyinstaller或py2exe冻结Python(2.7)应用程序时,冻结的应用程序无法找到google.protobuf。在冻结过程的日志中通常会出现“找不到google”的信息。因此,虽然它在Python的site-packages中且非冻结版本可以正常工作,但Google包未被找到和打包。
在写问题时,我已经有了一个解决方案 - 我将它放在这里,因为其他人很可能会很容易地在这里找到它。
解决方法:在您的Python安装目录下的Lib/site-packages/google
中创建空的__init__.py
,然后以某种方式进行编译(例如在交互式Python会话中导入google)。
当包目录中存在__init__.pyc
时,冻结工具开始工作。