我有一个python脚本,我想将其转换为可执行文件。它使用matplotlib模块,这显然是导致isue的原因。我用“pyinstaller--onefile file.py”创建了exe文件。当我打开Disr文件夹中的.exe文件时,它会显示以下内容,然后立即关闭:
很抱歉发布了一张图片,但我必须记录屏幕才能真正看到消息(我不太喜欢编程,不知道其他方法)
我的程序代码如下所示:
OPTION=input("Corriente de salida del prefraccionador es destilado o residuo? (D/R)")
from pylab import*
WF=100
xZ=0.68
WE=50
xF=0.2
xF2=[0.0]*10
ZNA1=0.3
ZNA2=0.4
ZNA3=0.6
T1BB=350
T1BD=320
T2BB=350
T2BD=320
DSEA=[0.0]*len(xF2)
DSEB=[0.0]*len(xF2)
for i in range (0,10,1):
if OPTION=="D":
xF2[i] = i / 10
WA1D = WF * (xZ - xF2[i]) / xZ
WA1B = WF - WA1D
WA2D = WA1B * xZ
WA2B = WA1B + WE - WA2D
WA3B = WA2B - WA1B * (1 - xZ)
WA3D = WA2B - WA3B
EDA1 = WA1D * ZNA1
EDA2 = WA2D * ZNA2
EDA3 = WA3D * ZNA3
DSEA[i] = (EDA1 + EDA2 + EDA3) / (WF)
else:
xF2[i] = i / 10
WA1B = WF * (xZ - xF2[i]) / xZ
WA1D = WF - WA1B
WA2D = WA1B * xZ
WA2B = WA1B + WE - WA2D
WA3B = WA2B - WA1B * (1 - xZ)
WA3D = WA2B - WA3B
EBA1 = WA1B
EDA2 = WA2D * ZNA2
EDA3 = WA3D * ZNA3
DSEA[i] = (EBA1 + EDA2 + EDA3) / (WF)
# 2 COLUMNAS
# Caudales
WB2B = WE
WB1B = WF * (1 - xF2[i]) + WB2B
WB1D = WF * xF2[i]
WB2D = WB1B - WB2B
# Eficacias de carnot
ZNB1 = (T1BB - T1BD) / T1BB
ZNB2 = (T2BB - T2BD) / T2BB
# Eficacias de columna
EDB1 = WB1D * ZNB1
EDB2 = WB2D * ZNB2
# DSEB
DSEB[i] = (EDB1 + EDB2) / (WF)
xFL=[xF,xF]
xFT=[0,1]
plt.ylabel="DSE"
plt.xlabel="Fraccio molar entrada"
#plt.plot(x,y)
plt.plot(xF2,DSEA)
plt.plot(xF2,DSEB)
plt.plot(xFL,xFT)
plt.legend(["Amb prefraccionador","Sense prefraccionador","Composició entrada"])
plt.show()
我在没有导入任何模块的情况下编写了另外两个程序,以查看这是否是问题所在,并且.exe和.py文件在编写它们的计算机上和在另一台未安装python的计算机上都能按预期工作(其中一个甚至有一个tkinter GUI,工作正常)
我已经搜索了与此错误相关的帖子,但我找不到解决方案,因为它们都与普通的.py文件失败有关,这不是我的情况,因为我的.py文件正在工作
提前谢谢
我也有同样的问题。 I found the solution here。 问题是pyinstaller和onefile的版本不能一起工作。 使用
在候机楼,它应该能工作
相关问题 更多 >
编程相关推荐