Pyinstaller exe 文件不接受任何输入

问题描述 投票:0回答:3

我想从 .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()

谢谢你。

python numpy exe pyinstaller executable
3个回答
6
投票

由于有 input() 方法,因此在转换为 exe 文件时应使用控制台选项。图形用户界面将无法工作。试试下面的代码

pyinstaller --noconfirm --onefile --console test_Script.py 

0
投票

我的建议是使用 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


0
投票

我发现如果你不禁用命令提示符,它就可以正常工作

© www.soinside.com 2019 - 2024. All rights reserved.