Kilka początkowych informacji: Mam Windows 10 na moim komputerze, a wszystkie programy są wersjami 64-bitowymi.import _tkinter # Jeśli to się nie powiedzie, twój Python może nie być skonfigurowany dla Tk
Piszę grę w python (3.6.1) za pomocą tkintera, a teraz chciałbym przekonwertować go do .exe. Użyłem cx_freeze (5.0.1) i stworzyłem kompilację, ale kiedy próbuję otworzyć grę, otwiera się okno, a następnie natychmiast się zamyka. Dlatego starałem się go otworzyć poprzez cmd i następujący błąd wyskakuje:
File "sliks.py", line 1, in <module>
File "C:\Users\Tinka\AppData\Local\Programs\Python\Python36\lib\tkinter\__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: DLL load failed: The specified module could not be found.
Sprawdziłem tkinter wsparcia jak mówi tutaj: https://wiki.python.org/moin/TkInter i występuje żaden błąd.
Również próbowałem zainstalować tk-dev z pip jak mówi w niektórych odpowiedzi na ten temat, ale nic się nie dzieje, jak otrzymuję komunikat:
C:\WINDOWS\system32>pip install tk-dev
Collecting tk-dev
Could not find a version that satisfies the requirement tk-dev (from versions:)
No matching distribution found for tk-dev
ja nigdy nie miałem żadnych 2.x Pythona na moim komputer, więc nie ma się mieszane biblioteki jak w tym przypadku: ImportError DLL load failed importing _tkinter
Oto mój plik setup.py Użyłem do cx_freeze w przypadku coś jest nie tak z tym:
from cx_Freeze import setup, Executable
import os
os.environ['TCL_LIBRARY'] = r'C:\Users\Tinka\AppData\Local\Programs\Python\Python36\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\Tinka\AppData\Local\Programs\Python\Python36\tcl\tk8.6'
base = None
setup(
name = "Six",
version = "0.1",
options = {"build_exe": {"packages": ["tkinter"]}},
executables = [Executable("sliks.py", base=base)]
)
Jakieś pomysły, co może być problemem? Wiem, że istnieje wiele otwartych pytań na ten temat, ale wypróbowałem większość rozwiązań i nie miałem szczęścia.
Mam również ten sam problem. Zrozumiałeś? – Joe
Nie, przepraszam. Przestałem próbować po tym, jak spędziłem zbyt wiele godzin na tym. – PircK
Udało mi się to zrozumieć. W rzeczywistości nie jest tak źle, tylko sprowadza się do zidentyfikowania tego, czego brakuje, i ręcznego wskazywania go. – Joe