Найти - Пользователи
Полная версия: vanished
Начало » Python для экспертов » vanished
1 2 3
Shaman
Дело хозяйское. Нужно смотреть по ситуации как лучше. Я как-то консоль гасил прямо из скрипта, правда он же у меня в бинарный и компилировался cython-ом. Так же при создании инсталлятора батник может и не использоваться, а команда запуска прописываться прямо стартовом ярлыке.
Ещё следует иметь в виду умение питона грузить модули из zip-а.
Shaman
Функция гашения консоли. Приветствую замечания.
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)
tz4678@gmail.com
vanished
tz4678@gmail.com
vanished
tz4678@gmail.com
vanished
Puten
Попробуй 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) Название проги

Сам только ей и пользуюсь, пока ниразу не подводила, как для консольных так и для графических софтинок.

Ах да, твой апп из первого поста собрался без проблем.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB