cx_Freeze"没有名为google的模块"错误

时间:2018-02-18 05:44:19

标签: python tensorflow cx-freeze

我在Python脚本中使用TensorFlow,我试图冻结。一切都很好,但是当我尝试运行它时,我收到了这个错误:

Traceback (most recent call last):
  File "C:\Users\mthun\AppData\Local\Programs\Python\Python35\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
    module.run()
  File "C:\Users\mthun\AppData\Local\Programs\Python\Python35\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
    exec(code, m.__dict__)
  File "app.py", line 2, in <module>
  File "D:\code\Github\codes-at-home\retrain.py", line 16, in <module>
    import tensorflow as tf
  File "C:\Users\mthun\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Users\mthun\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "C:\Users\mthun\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\core\framework\graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
ImportError: No module named 'google'

我有另外两个本地Python文件,我在主脚本中作为模块导入。他们都导入TensorFlow。该应用程序在未冻结时完全正常。

这是我的 setup.py

import sys
import os
from cx_Freeze import setup, Executable

PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')

# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {
    "packages": ["os"],
    'include_files': [
        'MISTER-BRAINWASH.ico',
        os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll'),
        os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll')
    ],
    "includes":['retrain','label_image','numpy.core._methods', 'numpy.lib.format']
}

# GUI applications require a different base on Windows (the default is for a console application).
base = None

executables = [
    Executable("app.py", base=base, icon='MISTER-BRAINWASH.ico'),
]

setup(
    name="Taxon",
    version="0.1",
    description="retrain inception with a GUI",
    options={"build_exe": build_exe_options},
    executables=executables
)

我看了,google确实在我的TensorFlow包含在构建目录中。我使用Python 3.5.2 64位和TensorFlow 1.5.0

在Windows上运行

1 个答案:

答案 0 :(得分:7)

  

没有名为'google'的模块

要从谷歌导入谷歌或任何东西,谷歌目录中必须有一个__init__.py文件。 在google目录中创建该文件,您可以从中导入。 我有同样的问题。