我想从 .py 创建 .exe 文件。如果我运行 .py 文件,它运行良好并且没有任何问题。但是当我运行 pyinstaller 创建的 .exe 文件时,我无法在命令行中输入(键入)任何内容。
我已经尝试了几个选项 - onefile executable(--onefile)、禁用 upx(--noupx)。两者根本没有任何改进。
我导入自己的库有问题吗?最好将我使用的函数粘贴到 .py 文件中?
from PIL import Image
import numpy as np
from convetai.cropImage import cropImage, step
def main():
path = input()
img = np.array(Image.open(f"{path}"))
print("Your image has a shape of ", img.shape)
n = int(input("Enter number of divisions."))
#dx, dy = step(n, img.shape)
i = int(input("Enter num of row"))
j = int(input("Enter num of column"))
n_img = cropImage(img, n, i, j, save=True)
print("Done.")
if __name__ == '__main__':
main()
谢谢你。
由于有 input() 方法,因此在转换为 exe 文件时应使用控制台选项。图形用户界面将无法工作。试试下面的代码
pyinstaller --noconfirm --onefile --console test_Script.py
我的建议是使用 pyinstaller 来制作 exe,每当你需要在程序中输入时,只需使用 tkinter。
示例:
将 tkinter 导入为 tk 从 tkinter 导入 simpledialog 对于功能列表中的功能:
ROOT = tk.Tk()
ROOT.withdraw()
# the input dialog
USER_INP = simpledialog.askstring(title="User Input",
prompt="Do You want to Continue")
# check it out
print("Continuing", USER_INP)
现在您可以以任何您想要的方式使用 USER_INP
我发现如果你不禁用命令提示符,它就可以正常工作