Вот что происходит:
- 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
Библиотеки:
- pyinstaller = 4.0.dev0
- 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_())