PyInstaller просто открывает файл .exe, когда debug = True или console = True - PullRequest
0 голосов
/ 17 июня 2020

Вот что происходит:

  • 1 - Замораживание с debug = True => Генерирует файл .exe, запускает .exe без появления консоли windows. Это нормально, но я не думаю, что оставить debug = True - правильный способ сделать это.
  • 2 - Замораживание с помощью console = True => Создает файл .exe, но открывает консоль windows когда я открываю файл .exe, щелкая по значку. Он не открывает консоль windows, когда я открываю файл через общую строку.
  • 3 - Зависание с console = False и debug = False => Создает файл .exe без ошибок, но когда я " откройте ".exe файл, ничего не появится. В командной строке кажется, что команда была запущена, и ничего не произошло.

Любая идея, почему мой файл .exe не работает должным образом при его генерации с помощью console = False и debug = False в файле executable_3.spe c ??

by .exe файл Я имею в виду dist / executable_package_V3 / EXE_NAME.exe

Я создаю свой файл executable_3.spe c файл, используя pyi-makespec executable_3.py (я использую Windows 10 и Python 3.7.7, но также пробовал с Python 3.6.10 и 3.5.6 и получил те же результаты.), а затем запустил pyinstaller executable_3.spec

Библиотеки:

  1. pyinstaller = 4.0.dev0
  2. pyqt5 = 5.11.3

После нескольких изменений вот как мой исполняемый_3.spe c выглядит как

Мой исполняемый_3.spe c Файл:

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

block_cipher = None

added_files = []

a = Analysis(['src\\executable_3.py'], #executable file path
             pathex=['C:\\Users\\MY_NAME\\Documents\\GitHub\\PROJECT_NAME'],
             binaries=[],
             datas=added_files,
             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='EXE_NAME', 
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=False)
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               upx_exclude=[],
               name='executable_package_V3')

Мой исполняемый_3.py файл

from GUI import QtCore, QtWidgets, Ui_Dialog #GUI is my UI from Qt Designer
import sys

app = QtCore.QCoreApplication.instance()
if app is None:
    app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_Dialog()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
...