Компиляция Python в EXE? | Nuitka, Pyinstaller, InnoSetup

Поделиться
HTML-код
  • Опубликовано: 22 дек 2024

Комментарии • 35

  • @vards2020
    @vards2020 6 месяцев назад +5

    "Не удается продолжить выполнение кода, поскольку система не
    обнаружила python311.dll. Для устранения этой проблемы
    попробуйте переустановить программу." вылазиет при компиляции через Nuitka. Как исправить?

  • @diamonddump
    @diamonddump 11 месяцев назад +1

    чувак, ты нереально крутой и очень помог мне. Пайинсталлер нереально плох, мой текущий проект запускается за 10 сек на любом пк, и любой антивирус из-за специфики его работы сигнализирует на троян. Нуитка и установщик сделали меня в два раза более опытным программистом, делающим качественные продукты, спасибо тебе.

  • @MEZHGANO
    @MEZHGANO Год назад +5

    Супер, спасибо)
    Немного критики: перебивки черным экраном при перечислении атрибутов команды nuitka похожи больше на глюк, чем монтажное решение

  • @5gugorsky
    @5gugorsky 2 года назад +1

    Пользую auto-py-to-exe в связке с InstallForge. В последней не надо подпапки прописывать, только папки и файлы, деинсталлятор тоже есть и ярлыки в меню пуск и рабочий стол. В целом доволен. Нуитку слышал, но ещё не пробывал))

  • @siriusgames_
    @siriusgames_ 2 года назад +2

    А как с помощью Nuitka или PyInstaller добавить в проект спрайты/фото/видео

    • @baggerfast
      @baggerfast  2 года назад

      Для этого существуют установщики, а так чисто теоретически можно через pyinstaller попробывать, но это не лучшая идея. А конце видео я показал работу с установщиком, где я добавлял именно спрайты и звуки

    • @siriusgames_
      @siriusgames_ 2 года назад +1

      @@baggerfast Например, чтобы при запуске файла создавалась папка с файлами по определенном пути и после закрытия удалялась

    • @baggerfast
      @baggerfast  2 года назад

      Если прям очень хочется, то в pyinstaller, как раз реализован такой подход. Он создает в папке темп твой проект и запускает, после закрытия удаляет. Сторонние файлы , тоже можно в exe добавить. Но способ с установщиком, куда более приятный)

    • @siriusgames_
      @siriusgames_ 2 года назад

      @@baggerfast Только я никак не могу понять как использовать этот код:
      def resource_path(relative_path):
      """ Get absolute path to resource, works for dev and for PyInstaller """
      if getattr(sys, 'frozen', False):
      base_path = sys._MEIPASS
      else:
      base_path = os.getcwd()
      return os.path.join(base_path, relative_path)
      Он нужен чтобы создавалась временная папка, но у меня это не выходит

    • @baggerfast
      @baggerfast  2 года назад

      @@siriusgames_ попробуй через pypi.org/project/auto-py-to-exe/ - это pyinstaller ток с интерфейсом. Новичкам там легче ориентироваться, сразу поймёшь)

  • @kassowary1429
    @kassowary1429 Год назад

    А что делать, если при использовании Nuitka мне пишет: no installer needed cached one time question, и коомпиляция заканчивается?

  • @n1kit1
    @n1kit1 2 года назад +4

    Если без --onefile (-F) собирать через pyinstaller, создастся папка, в ней main.exe, его и надо запускать, можно создать ярлык через тот же установщик (я использую Smart Install Maker), запуск будет быстрее (без лишних распаковок во временную папку), если вам кажется что ваше приложение через pyinstaller долго стартует, лучше делать именно так, там и data_files (звуки, спрайты) туда же поместятся.
    Правда такая папка будет весить чуть больше одиночного exe'шника, т.к в одиночный exe'шник хранит всё сжатое (upx), а в папке ничего не по сжимаешь (но это тоже ускоряет запуск).
    Nuitka я бы вообще не пользовался, когда у вас полезут проблемы с зависимостями или dll'ками, тоже желание отпадёт, но нуитка вроде это фиксит, я им давно не пользовался; да и нуитка вроде быстрее работает; вердикт: на не крупных проектах нуитка - то что надо; иначе, если всякие проблемы будут, то pyinstaller.

    • @baggerfast
      @baggerfast  2 года назад +1

      Спасибо, за такую полезную информацию)

  • @catnorm1708
    @catnorm1708 8 месяцев назад

    А как можно обновить код?

  • @StanBrawlikYT
    @StanBrawlikYT 5 месяцев назад

    можешь дать комманду а то не могу найти ( 2:14

  • @MrNarutorengun
    @MrNarutorengun Год назад

    2:55 ещё как стоит, там неправильно код написан в подсказке
    "python -m PyInstaller"
    Если писать pyinstaller с маленькой буквы, то ошибка вылетает
    P.S. NUITKA на python 3.11 отказывается переваривать указанные тобой флаги, говоря что не знает что это. Возможно из-за версии питона

    • @baggerfast
      @baggerfast  Год назад

      На 3.10 все работает, и то возможны сбои. Не все пакеты адаптируются на новые версии языка

  • @bolatmukashev2830
    @bolatmukashev2830 2 года назад

    Создаю exe файл через pyinstaller на win10 64bit. Не запускается на win8 32bit. Если возможность создать файл который будет запускаться на любых версиях ос windows?

    • @nikrik01
      @nikrik01 8 месяцев назад

      Пропиши в терминале python, где ты "компилируешь" проект
      >>> import sys
      >>> sys.version
      если он напишет в конце что то типо "64 bit (AMD64)"
      то ты используешь питон 64 бита, поздравляю, он по умолчанию не поддерживает 32 битные ОС

  • @muxammederaiev733
    @muxammederaiev733 2 года назад

    Классное видео . А если отправить ехе из нуитки , и отправить на другой комп там откроется?

  • @RaZeN306
    @RaZeN306 Месяц назад

    Пайинсталлер просто ужасен, я все установил, но из за того, что какие то файлы просто не установились, ничего не работает, сделал все по инструкции несколько раз, не получилось, не пользуйтесь им

  • @ar3love474
    @ar3love474 7 месяцев назад

    Вот ты сказал 1-2 минуты ахах, я уже 20 минут сижу, третий раз видос просммтриваю 4328/4514 и все увеличивается

  • @ЕгорСоловец-л1н
    @ЕгорСоловец-л1н Год назад

    Ускоряет программу процентов на 20-30%. JIT-компиляторы Numba и PyPy дают несравнимо более существенный прирост производительности, в десятки, а то и сотни раз. Достаточно посмотреть, какой код на Си генерирует Nuitka - это не эквивалент программы на языке Си (эквивалентная программа на Си длиннее раза в 1.5-2), а какая-то огромная кишка из невнятного индусского кода, схематическое повторение функциональных структур интерпретатора CPython.
    Nuitka это пока лучшее что есть, до этого приходилось тупо упаковывать в исполняемые файлы интерпретатор и библиотеки целиком, но полноценным, нормальным, здоровым компилятором это не является.

  • @MatveyBRyt
    @MatveyBRyt 5 месяцев назад

    Полная хрень!
    Nuitka тупо ошибка про bottle
    Pyinstaller тоже ошибка

  • @DDD1234AAA1
    @DDD1234AAA1 11 месяцев назад

    Что делать если говорит что у меня вирус/нежелательная программа, хоть у меня просто текст. строка - pyinstaller --onefile --icon=icon.ico main.py

    • @No_bonoko
      @No_bonoko 9 месяцев назад

      Нашли решение?

    • @RyzerAfter
      @RyzerAfter 6 месяцев назад

      ​@@No_bonokoэто особенность pyinstaller, там всегда так будет т.к он не компилирует а копирует в temp и антивирус думает что это вирус, используй nuitka

  • @_sqtime_forever_
    @_sqtime_forever_ 3 месяца назад

    как сделать у меня такая программа открывается окно где есть 5 кнопок и при нажатий одной из кнопок выводит информацию голосом с библиотеки pyttsx3 ,но тут такая проблема при использование pyinstaller в exe файле не производится звуки голоса с библиотеки ,Как решить данную проблему?