使用 cx_Freeze 时出现问题:“无法导入名称 'tf2'”
Posted
技术标签:
【中文标题】使用 cx_Freeze 时出现问题:“无法导入名称 \'tf2\'”【英文标题】:Problem when using cx_Freeze: "cannot import name 'tf2'"使用 cx_Freeze 时出现问题:“无法导入名称 'tf2'” 【发布时间】:2019-08-22 12:13:33 【问题描述】:我有一个 Python 代码,我使用 cx_Freeze 将其转换为 .exe。此任务正常工作,没有任何错误。 但是当我尝试运行我的 .exe 时,会发生以下错误:
从 tensorflow.python 导入 tf2 ImportError: 无法导入名称 'tf2'
我的ann.py
代码是:
import numpy as np
import sys
。 . .
X_test=XinN
Y_test=XoutN
#Criando o modelo
from keras.models import Sequential
from keras.layers import Dense
modelo = Sequential()
for i in range(int((num_par-4)/2)):
modelo.add(Dense(int(parametros[i+4]), kernel_initializer='normal',activation=ativacao(int(parametros[i+5])))) #camadas ocultas
modelo.add(Dense(num_out, kernel_initializer='normal',activation=ativacao(int(parametros[num_par-1])))) #camada de saída
modelo.compile(optimizer='adam',loss='mean_squared_error')
hist = modelo.fit(X_train, Y_train, epochs=800, verbose=0, batch_size=10,validation_data=(X_test, Y_test))
XobsoutN=modelo.predict(XobsN)
Xobsout=XobsoutN*(max_out-min_out)+min_out
np.savetxt("Xobsout.txt",Xobsout.transpose(),delimiter='\t')
loss=[" "," "]
loss[0] = hist.history['loss']
loss[1] = hist.history['val_loss']
np.savetxt("erro.txt",loss,delimiter='\t')
我的 cx_Freeze setyp.py
是:
from cx_Freeze import setup, Executable
import sys
base = None
if sys.platform == 'win32':
base = None
executables = [Executable("ANN.py", base=base)]
packages = ["idna"]
options =
'build_exe':
'includes':['atexit', 'numpy.core._methods', 'numpy.lib.format'],
'packages':packages,
,
import os
os.environ['TCL_LIBRARY'] = "C:\\ProgramData\\Anaconda3\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] = "C:\\ProgramData\\Anaconda3\\tcl\\tk8.6"
setup(
name = "Nome Executavel",
options = options,
version = "1.0",
description = 'Descricao do seu arquivo',
executables = executables
)
谁能帮我解决这个错误?
我在使用 cx_Freeze 时遇到了许多其他错误,这个论坛对解决所有这些错误很有帮助。非常感谢!
【问题讨论】:
【参考方案1】:尝试将"tensorflow"
添加到您的setup.py
脚本中的packages
列表中:
packages = ["idna", "tensorflow"]
【讨论】:
以上是关于使用 cx_Freeze 时出现问题:“无法导入名称 'tf2'”的主要内容,如果未能解决你的问题,请参考以下文章
使用 cx_freeze 转换为 *.exe 时出现 SSL 异常
cx_Freeze 将 Python 和 Pygame 文档编译为 .exe 文件时出现奇怪的错误
将 .py 转换为 .exe 时出现 cx_Freeze 错误
使用 cx_Freeze 时出现“ImportError: DLL load failed: The specified module could not be found”,即使添加了 tcl86t