[英]Pyinstaler why does my exe file not run while my script is?
首先,我是 python 的新手,很抱歉最終丟失了信息。
我目前正在嘗試將正在運行的腳本編譯成 exe 文件。 正如我所提到的,該腳本在 python(anaconda 3)中完美運行。 我使用 pyinstaller 和 auto-py-tp-exe gui。 它將我的文件編譯成一個exe,但是當我嘗試運行它時它不起作用。
我使用了以下選項:
pyinstaller --noconfirm --onedir --windowed ""
當然是文件路徑。 我收到以下錯誤:
Traceback (most recent call last):
File "MAIN_INTERFACE.py", line 2673, in <module>
File "MAIN_INTERFACE.py", line 343, in __init__
File "tkinter\__init__.py", line 2790, in create_image
File "tkinter\__init__.py", line 2776, in _create
_tkinter.TclError: image "pyimage10" doesn't exist
有人知道該怎么做嗎?
如果沒有源代碼,我實際上無法准確判斷,但這似乎是 python 垃圾收集器的問題(聽起來可能有點嚇人,但實際上並非如此):
我可以想象,您的代碼看起來像這樣:
my_tkinstance = Tk()
my_image = PhotoImage("path_to_image")
my_label = Label(my_tkinstance, image=my_image)
my_label.pack()
my_tkinstance.mainloop()
如果我們仔細考慮,解釋器會處理這段代碼,我們可以得出這樣的結論:
為了防止這種情況發生,您必須像這樣修改代碼:my_tkinstance = Tk()
my_image = PhotoImage("path_to_image")
my_label = Label(my_tkinstance, image=my_image)
my_label.image = my_image
my_label.pack()
my_tkinstance.mainloop()
通過這種方式,您可以在 python 代碼(可以這么說)的不同部分中引用圖像,並且垃圾收集器不會刪除圖像。
希望這可以幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.