В моем случае возникла ошибка, потому что я дал имя исходного файла вместо имени класса.
Нам нужно предоставить имя класса, содержащее основной метод, интерпретатору.
Если вы хотите скрыть окно консоли, здесь - это документация: так вы используете опцию --noconsole
python pyinstaller.py --noconsole yourscript.py
. Если вам нужна помощь с помощью pyinstaller чтобы добраться до точки, где вам нужно использовать опцию --noconsole
здесь , это простой учебник для получения.
Просто добавьте флаг --noconsole
:
$ python pyinstaller.py --noconsole yourprogram.py
Вы также можете использовать --onefile
, который создает один файл .exe
вместо папки.
Это одна из первых вещей, которые возникают при поиске этой информации, поэтому я хотел бы добавить то, что я нашел для версии 3.2 pyinstaller. Если вы уже упаковали свой скрипт, запустив
pyinstaller --onefile your_script.py
или аналогичный, вы можете отредактировать файл your_script.spec, чтобы избавиться от консоли.
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='main',
debug=False,
strip=False,
upx=True,
console=True )
Просто измените значение консоли на False. Затем запустите:
pyinstaller your_script.spec
Кроме того, если вы внесете изменения в свой код, запустите указанную выше команду, чтобы они отразились в файле your_script.exe. Я нашел это полезным для отладки различных других проблем.