Kivy - Мой .exe файл на Windows не открывается - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь создать программу windows Kivy, но у меня возникли некоторые проблемы. Я выполнил шаги, описанные здесь на веб-сайте kivy (https://kivy.org/doc/stable/guide/packaging-windows.html), и смог создать исполняемый файл без каких-либо ошибок. Проблема в том, что когда я открываю исполняемый файл, который находится в папке dist, он открывает окно терминала / командную строку на долю секунды, а затем сразу же закрывается. Я не могу сказать, что не так, так как я не получаю никаких ошибок.

Я сохранил свой файл spe c в той же папке, что и мой python файл (main.py), файл kivy (chem gui .kv) и изображение, которое я использую в своем файле kivy (chemicsbck.jfif). Вот шаги, которые я предпринял, чтобы создать мой файл .exe.

python -m PyInstaller --name Chem C:\Users\AdhamAlHossary\Desktop\Package\main.py

Chem.spe c

# -*- mode: python ; coding: utf-8 -*-

from kivy_deps import sdl2, glew

block_cipher = None


a = Analysis(['C:\\Users\\AdhamAlHossary\\Desktop\\Package\\main.py'],
             pathex=['C:\\Users\\AdhamAlHossary\\Desktop\\Package'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             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='Chem',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=True )

coll = COLLECT(exe, Tree('C:\\Users\\AdhamAlHossary\\Desktop\\Package\\'),
               a.binaries,
               a.zipfiles,
               a.datas,
               *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
               strip=False,
               upx=True,
               upx_exclude=[],
               name='Chem')

Затем:

python -m PyInstaller Chem.spec

I был бы очень признателен, если кто-то может мне помочь. Я искал в Интернете, надеясь найти решение, но не нашел ничего, что соответствует моей проблеме.

Я также использую Kivy 1.11.1, Python 3.7 и PyInstaller 3.6.

1 Ответ

0 голосов
/ 24 февраля 2020

Вы пытались запустить exe из терминала? Я подозреваю, что ваш код работает нормально, но после выполнения он закрывается.

Вы можете использовать pyauto gui и добавить что-то вроде этого:

import keyboard
#Your script
keyboard.wait('esc')

Теперь он закроется только при нажатии клавиши escape .

...