我正在尝试编译一个使用keras和tensorflow-gpu的python应用程序。使用针对CPU的tensorflow版本,生成的.exe就像一个超级按钮一样工作。当我编译GPU版本时,它可以顺利编译而不会出错。当我尝试运行.exe时,它会显示以下输出:
使用TensorFlow后端。追溯(最近一次通话):文件 “ site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第58行,在 文件 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py”,行 18,在文件中 “ site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py”行 17,在swig_import_helper文件“ importlib__init__.py”的第126行中 import_module ImportError:未命名模块 'tensorflow.python._pywrap_tensorflow_internal'
在处理上述异常期间,发生了另一个异常:
回溯(最近一次通话最后一次):文件“ predict_service.py”,行 21,在文件中 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ keras__init__.py”,第3行,在文件中 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ keras \ utils__init __。py”,文件中的第6行 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ keras \ utils \ conv_utils.py”,文件中的第9行 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ keras \ backend__init __。py”,文件中的第84行 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ keras \ backend \ tensorflow_backend.py”,文件中的第5行 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ site-packages \ tensorflow__init __。py”,文件中的第24行 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )在
中的文件“ site-packages \ tensorflow \ python__init __。py”,第49行 文件 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第74行,在 ImportError:追溯(最近一次通话):文件 “ site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第58行,在 文件 “ C:\ Users \ jfontes \ AppData \ Local \ Continuum \ Anaconda3 \ envs \ tese \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”, 第631行,在exec_module中 exec(字节码,模块。 dict )文件“ site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py”,行 18,在文件中 “ site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py”行 17,在swig_import_helper文件“ importlib__init__.py”的第126行中 import_module ImportError:未命名模块 'tensorflow.python._pywrap_tensorflow_internal'无法加载本机TensorFlow运行时。
请参阅 https://www.tensorflow.org/install/install_sources#common_installation_problems
出于某些常见原因和解决方案。包括整个堆栈跟踪 寻求帮助时,此错误消息上方。
我正在使用以下.spec文件:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['predict_service.py'],
pathex=['C:\\Users\\jfontes\\Documents\\AGATHA',
'C:\\Users\\jfontes\\Documents\\AGATHA\\Accessories',
'C:\\Users\\jfontes\\Documents\\AGATHA\\Accessories\\Training Data',
'C:\\Users\\jfontes\\AppData\\Local\\Continuum\\Anaconda3\\envs\\agatha\\Lib\\site-packages\\scipy\\extra-dll'],
binaries=[],
datas=[('.\\Accessories\\config.json', '.\\')],
hiddenimports=['h5py','h5py.defs','h5py.utils','h5py.h5ac','h5py._proxy',
'scipy._lib.messagestream', 'scipy', 'scipy.signal', 'scipy.signal.bsplines', 'scipy.special', 'scipy.special._ufuncs_cxx', 'scipy.linalg.cython_blas', 'scipy.linalg.cython_lapack', 'scipy.integrate', 'scipy.integrate.quadrature', 'scipy.integrate.odepack', 'scipy.integrate._odepack', 'scipy.integrate.quadpack', 'scipy.integrate._quadpack', 'scipy.integrate._ode', 'scipy.integrate.vode', 'scipy.integrate._dop', 'scipy._lib', 'scipy._build_utils','scipy.__config__', 'scipy.integrate.lsoda', 'scipy.cluster', 'scipy.constants','scipy.fftpack','scipy.interpolate','scipy.io','scipy.linalg','scipy.misc','scipy.ndimage','scipy.odr','scipy.optimize','scipy.setup','scipy.sparse','scipy.spatial','scipy.special','scipy.stats','scipy.version',
'sklearn.utils.sparsetools._graph_validation', 'sklearn.utils.sparsetools._graph_tools', 'scipy.special._ufuncs_cxx', 'sklearn.utils.lgamma', 'sklearn.utils.weight_vector', 'sklearn.neighbors.typedefs','sklearn.neighbors.quad_tree','sklearn.tree','sklearn.tree._utils',
'pandas','pandas._libs.tslibs','pandas._libs.tslibs.conversion','yaml','sklearn.ensemble','tensorflow','tensorflow-gpu'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='predict_service',
debug=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True )
我试图在.spec文件中导入tensorflow和tensorflow-gpu模块,但没有结果。我在做错什么吗?