Я пытаюсь упаковать написанную мной программу / скрипт на python ( pastebin link ), которая включает графический интерфейс с использованием модуля tkinter.Я решил использовать Pyinstaller, и в соответствии с ними он поддерживает Python 3.7.
В настоящее время попытка запустить pyinstaller, по-видимому, не создает проблем при упаковке.После того, как я пытаюсь запустить исполняемый файл, происходит сбой.Один я генерирую один вариант файла исполняемого файла, он просто открывает командную строку и зависает.Когда я выполняю команду non one file, она сразу открывается и закрывается, но выдает ошибку, которую я не вижу из-за того, как быстро она закрывается.Я открыл исполняемый файл прямо в cmd, чтобы обойти это, и он выдает мне эту ошибку:
C:\Users\mqian\Desktop\CGIProject\autoprimercode\windowsversion\build\windowsaut
oprimer>windowsautoprimer.exe
Error loading Python DLL 'C:\Users\mqian\Desktop\CGIProject\autoprimercode\windo
wsversion\build\windowsautoprimer\python37.dll'.
LoadLibrary: The specified module could not be found.
Я не знаю, должен ли он искать python37.dll в этой папке,но тем не менее, у меня была блестящая идея скопировать dll из директории python в указанную трассировкой (очевидно, это не должно быть так).И теперь я получаю следующую ошибку:
C:\Users\mqian\Desktop\CGIProject\autoprimercode\windowsversion\build\windowsaut
oprimer>windowsautoprimer.exe
Traceback (most recent call last):
File "site-packages\PyInstaller\loader\rthooks\pyi_rth__tkinter.py", line 28,
in <module>
FileNotFoundError: Tcl data directory "C:\Users\mqian\Desktop\CGIProject\autopri
mercode\windowsversion\build\windowsautoprimer\tcl" not found.
[6600] Failed to execute script pyi_rth__tkinter
Бесконечное количество поисков в Google не принесло ничего конкретного.Вот некоторые соответствующие ссылки, которые, как я думал, могут помочь.
https://github.com/pyinstaller/pyinstaller/issues/2149
https://www.xoolive.org/2015/09/09/issues-on-loading-dlls-with-pyinstaller.html
PyInstaller: «Нет модуля с именем Tkinter»
https://github.com/pyinstaller/pyinstaller/issues/2495
Ошибка при загрузке python27.dll Ошибка для pyinstaller
и вот мой файл спецификации:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['windowsautoprimer.py'],
pathex=['C:\\Users\\mqian\\Desktop\\CGIProject\\autoprimercode\\windowsversion'],
binaries=[],
datas=[],
hiddenimports=['tkinter', 'Tkinter'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='windowsautoprimer',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='windowsautoprimer')