Форум сайта python.su
Дело хозяйское. Нужно смотреть по ситуации как лучше. Я как-то консоль гасил прямо из скрипта, правда он же у меня в бинарный и компилировался cython-ом. Так же при создании инсталлятора батник может и не использоваться, а команда запуска прописываться прямо стартовом ярлыке.
Ещё следует иметь в виду умение питона грузить модули из zip-а.
Офлайн
Функция гашения консоли. Приветствую замечания.
def hide_console(): import sys if 'win32' not in str(sys.platform).lower(): return import ctypes whandle = ctypes.windll.kernel32.GetConsoleWindow() if whandle == 0: return proc_id = ctypes.c_int() ctypes.windll.user32.GetWindowThreadProcessId(whandle, ctypes.byref(proc_id)) if proc_id.value == ctypes.windll.kernel32.GetCurrentProcessId(): ctypes.windll.user32.ShowWindow(whandle, 0)
Офлайн
vanished
Отредактировано tz4678@gmail.com (Авг. 1, 2020 15:48:26)
Офлайн
vanished
Отредактировано tz4678@gmail.com (Авг. 1, 2020 15:48:28)
Офлайн
vanished
Отредактировано tz4678@gmail.com (Авг. 1, 2020 15:48:29)
Офлайн
Попробуй Pyinstaller. Никаких танцев с setup.py. Сам находить импортируемые модули и подгружает нужные части. Вся упаковка идет одной простой строкой.
Открываем консоль в той папке, где лежит нужный файлик .py и пишем:
pyinstaller my_soft.py и все. Вместо my_soft.py подставляем свое название.
Будут сгенерированы 2 папки, build и dist. Билд можно сразу удалять, в дист будет наш exe.
Можно так же все в 1 экзешник паковать, параметром -F (правда ресуры, если есть, придется копировать отдельно)
pyinstaller -F my_soft.py
Чтобы не появлялось консольное окошко во время запуска, добавляем -w или –noconsole
-i=my_icon.ico (или –icon=my_icon.ico) Добавляем иконку
-n=“name of the exe” (или –name=Name) Название проги
Сам только ей и пользуюсь, пока ниразу не подводила, как для консольных так и для графических софтинок.
Ах да, твой апп из первого поста собрался без проблем.
Отредактировано Puten (Март 9, 2016 21:35:04)
Офлайн