#tkinter #exe #py2exe
Вопрос:
Я только что столкнулся с внезапной ошибкой при использовании py2exe, у меня полностью работает скрипт, который я не могу заставить работать через py2exe. Проблема в том, что я уже выполнил почти тот же код и не коснулся той части, которая больше не работает.
Мой код ошибки таков
File "SAWB.py", line 16, in <module>
File "tkinter__init__.py", line 2080, in wm_iconbitmap
_tkinter.TclError: bitmap "favicon.ico" not defined
[13900] Failed to execute script SAWB
И мой код начинается так (это та часть, где py2exe, похоже, не работает)
from tkinter import filedialog as fd
from tkinter import *
import tkinter
from tkinter import messagebox
import os
CurrentPath=os.path.dirname(__file__)
def KillM():
MainWindow.destroy()
def KillS():
SuccessWindow.destroy()
MainWindow = Tk()
MainWindow.title("name")
MainWindow.geometry('376x69')
MainWindow.iconbitmap(CurrentPath "\favicon.ico") #7
Label(MainWindow, text='name.wordpress.com')
filename = fd.askdirectory(title="Name")
filename = filename "/yes.txt"
Как я уже сказал, мой код работает при использовании только python, но не работает после компиляции, и я ранее скомпилировал почти тот же код(буквально с той же частью кода, что и общий, я изменил только материалы, которые не нарушают мой код.), и этот код работает и имеет этот значок.
Я скомпилировал с помощью
pyinstaller.exe --onefile --windowed --icon=123.ico TheCode.py
Также попробовал просто pyinstaller.exe TheCode.py
, и вот как я обосновал ошибку
Я попытался переустановить его, но ничего не изменилось, и мой код и ico не повреждены.
Если вы знаете, что может заставить py2exe не создавать правильный файл .exe, я был бы рад, если бы мне помогли.
Спасибо.
Комментарии:
1. попробуйте использовать
.iconphoto()
: delftstack.com/howto/python-tkinter/… также py2exe, вероятно, на самом деле не работает, вы просто неправильно выполнили инструкции2. Нужно ли мне переписывать весь код? И сделайте MainWindow->root, потому что меторд требует, чтобы я root.mainloop()
3. нет, это не так, это просто имя переменной, просто сделайте
MainWindow.iconphoto(...)
4. Это не работает в скрипте, он не распознает изображение с помощью этого метода, не .ico и не .jpg..
_tkinter.TclError: couldn't recognize data in image file "favicon.ico"
Я попытался повторно загрузить изображение, чтобы, возможно, обнаружить, что мои файлы повреждены, но оно находится в том же состоянии. Карта значков работала нормально, но я не могу понять, почему py2exe больше не может ее использовать5. возможно, вам нужно добавить это изображение в файлы .exe отдельно