我对Python还不熟悉。目前,我正在从事与土木工程相关的项目,输入一些关于材料、内力等的值,然后代码计算陶瓷横截面的阻力,它的利用率等等。我有它在VSCode工作,但有麻烦使它.exe文件。任何帮助都是感激和感激的。你知道吗
我试过了,但一无所获。一旦文件被编译,当我运行.exe时,我得到的只有一个黑屏
这是有问题的代码
import numpy as np
import csv
import matplotlib.pyplot as plt
# Input for calcualation
fy = float(input("Steel yield strength [kN/cm^2] fy = "))
fu = float(input("Steel tensile strenth [kN/cm^2] fu = "))
E = float(input("Steel modulus of elasticity [kN/cm^2] E = "))
NEd = float(input("Compression force [kN] NEd = "))
Lcry = float(input("Buckling length around y (stronger) axis [cm] = "))
Lcrz = float(input("Buckling length around z (weaker) axis [cm] = "))
data = []
with open('HEA.csv', 'r', newline='') as csv_data:
csv_read = csv.reader(csv_data)
reader = next(csv_read)
for row in csv_read:
name = int(row[0])
h = float(row[1])
b = float(row[2])
tw = float(row[3])
tf = float(row[4])
r = float(row[5])
d = float(row[6])
A = float(row[7])
G = float(row[8])
Iy = float(row[9])
Wyel = float(row[10])
Wypl = float(row[11])
iy = float(row[12])
Iz = float(row[13])
Wzel = float(row[14])
Wzpl = float(row[15])
iz = float(row[16])
It = float(row[17])
Iw = float(row[18])
data.append([name, h, b, tw, tf, r, d, A, G, Iy, Wyel, Wypl, iy, Iz, Wzel, Wzpl, iz, It, Iw])
data = np.asarray(data)
data = np.transpose(data)
name = data[0]
h = data[1]
b = data[2]
tw = data[3]
tf = data[4]
r = data[5]
d = data[6]
A = data[7]
G = data[8]
Iy = data[9]
Wyel = data[10]
Wypl = data[11]
iy = data[12]
Iz = data[13]
Wzel = data[14]
Wzpl = data[15]
iz = data[16]
It = data[17]
alpy = 0.34
Ncry = ((np.pi**2 * E * Iy)/(Lcry**2))
print(Ncry)
# Nondimensional slednerness
ldy = np.sqrt(((A*fy)/Ncry))
print(ldy)
# auxiliary value
phiy = 0.5*(1+alpy*(ldy-0.2)+ldy**2)
print(phiy)
hiy = 1/(phiy+np.sqrt(phiy**2-ldy**2))
if hiy.all() > 1:
hiy = 1
hiy = hiy
print(hiy)
NbRd = (hiy*21.24*fy)/1.10
print("Resistance to compression", NbRd)
if NEd/NbRd.all() <= 1:
print("Resistance is satisfied")
print("Resistance is not satisfied")
ratio = (NEd/NbRd)*100
print(ratio)
plt.plot([name], [ratio], 'ro')
plt.show()
这里有几点:
1-为什么要将其作为可执行文件?
你不能为你的用户分发python代码吗?如果他们都是工程师,那就容易多了。你知道吗
2-如果您绝对需要,从一开始就需要使其成为可执行文件:
如果你绝对需要一个可以在任何机器上运行的软件,也许python和pyinstaller不是你最好的朋友。你知道吗
你可以让它成为一个web应用,通过使用类似django的东西在导航器上运行。你知道吗
如果复杂,计算密集,但应该运行得快,也许你应该考虑C++。你知道吗
3-底线
Pyinstaller实际创建一个可执行文件需要大量的工作,在执行它和创建将被它捆绑的代码时,需要考虑很多的注意事项。你知道吗
但是阅读这里的问题,the documentation,特别是使用
debug=all
选项会慢慢地使您的可执行文件成形。你知道吗相关问题 更多 >
编程相关推荐