С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/75: Рейтинг темы: голосов - 75, средняя оценка - 4.60
Заблокирован

Nuitka создание exe

31.07.2021, 22:56. Показов 15568. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, есть проект на питоне, состоящий из нескольких файлов (условно file1.py, file2.py, file3.py). Хочу собрать из них 1 .exe с помощью Nuitka, установить на него иконку, чтобы им можно было воспользоваться на любом ПК без установки питона и всех библиотек. В PyInstaller все просто pyinstaller -n name -i logo.ico --onefile file1.py file2.py file3.py
В документации не разобрался, может, кто подскажет, с onefile и standalone не получилось, скорее всего что-то делаю не так.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.07.2021, 22:56
Ответы с готовыми решениями:

Как с помущью nuitka py перевести в exe, который открывается без консоли
Я написал программу на python с помощью kivy и в exe версии консоль не нужна, как её скрыть? В pyinstaller можно указать флаг, чтобы...

Как установить Nuitka?
Хотел поставить вот это, не получилось, но с причинами сильно не разбирался, есть у кого нибудь опыт работы с Нуиткой? (Заявлена...

Использование Nuitka в Windows OS
Собственно вопрос как её использовать? (или как ей пользоваться в windows) Скачал Stable Packages...

6
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
31.07.2021, 23:01
super_user123, начинаем читать Правильный способ
НЕ совсем павильный way

Добавлено через 33 секунды
Цитата Сообщение от super_user123 Посмотреть сообщение
В документации не разобрался
Почему же?
0
0 / 0 / 0
Регистрация: 22.05.2021
Сообщений: 10
31.07.2021, 23:04
Dax, тут, кажется, попросили помочь, а не сотрясать воздух. Спросили, как с помощью nuitka собрать exe, или ты не разглядел?
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
31.07.2021, 23:11
Ebelex, я все разглядел, но, помочь!= создать за ТС(тем более - не имея исходного кода)
Потому, читаем и вникаем вместе
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
31.07.2021, 23:13
Ebelex, На заметку
2
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
31.07.2021, 23:33
super_user123, Вам нужна строка, введенная в терминале
Code
1
nuitka --recurse-all program.py
Читано тут
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
01.08.2021, 19:33
Цитата Сообщение от Dax Посмотреть сообщение
--recurse-all program.py
Это устаревшая опция. Ее больше нет.
----------------------------------------------------------------
И для всех: Что такое nuitka? Это не компилятор.
Это транспайлер (транспилятор) Python (подмножества?) кода в Си\С++. Компилировать код будет стандартный Си\С++ компилятор gcc (или msvc). Если у вас не установлен - скачает. Почти 2Gb.
И транспайлинг делается, в основном, только для вашего кода (если запускать без опций).

Есть опция --stdlib, которая как будто бы должна транспайлить еще и стандартную библиотеку Python. Не увидел разницы с запуском без опций вообще. Надо разбираться.

Есть опция --follow-imports для транспайлинга всех файлов вашего проекта. Пока не пробовал использовать на многофайловым проекте.
Написано, что она по дефолту для опции --standalone.

Некоторый предварительный вердикт:
1) При сборке без опций exe-шник будет по-прежнему зависеть от установленного Python.
2) если собирать с опцией --standalone, вместе с exe-шником в каталог dist (ничего не напоминает?) будут скопированы Python pyd либы, python3x.dll), некоторые системные dll и т.д. То есть получается как бы Portable сборка. Но не факт... Менеджер зависимостей у nuika вовсе не лучше чем у pyinstaller. И, скорей всего, придется вручную (через другие опции) указывать nuitke дополнительные необходимые зависимости.
Я импортировал в коде модуль collections (для использования Counter), но в каталог dist он cкопирован не был.
Каковая вероятность, что этот exe запустится на другом компе?

3) И да... ​c опцией --onefile она как бы создает тот самый самый долгожданный для школьников (потому что реальные питонисты уже давно знают, что раз для Python нет изначально родного компилятора в машинный код, то и нефиг баловаться) как бы автономный exe.
На самом деле она пытается запихнуть в exe все (или как получится) зависимости, точно также как это делает pyinstaller. И, как написано в доках, это точно также будет распаковываться во временный каталог при запуске.
On Windows, there are two modes, one which is copying it to the AppData of your company specified, to also use it as a cache, and one which does it in the temporary directory.

Размерчик выходного "hello world" - 25mb. Как раз совпадает с размером каталога dist, куда копируются все (или как получится) зависимости.
И у меня этот exe даже не запустился.

Update.
Чтобы сработала опция --stdlib скрипт должен импортировать хотя бы одну Python библиотеку.
Запустил nuitka заново на скрипте, где используется collections.
Полчаса транспайлинга и компиляции всех (?ли) Python библиотек.
Выходной файл: 46mb. Запускаю... и опять fail. Длинное полотно состоящее из этого:
Code
1
2
3
4
  File "<frozen importlib._bootstrap>", line 988, in _find_and_load
  File "<frozen importlib._bootstrap>", line 148, in __enter__
  File "<frozen importlib._bootstrap>", line 163, in _get_module_lock
RecursionError: maximum recursion depth exceeded while calling a Python object
Попытка дополнить опцию --stdlib опцией --standalone, чтобы получить Portable сборку не увенчалась успехом.
Exe-шник (размер 1.5 mb) как всегда скомпилирован, но падает с какой-то банальной ошибкой: ModuleNotFoundError: No module named 'site'.

Добавлено через 10 минут
P.S. Думаю, cтоит перенести эту тему в раздел Инструментарий.
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.08.2021, 19:33
Помогаю со студенческими работами здесь

Как скомпилировать код через nuitka?
Как скомпилировать код через nuitka так что бы после запуска .exe файла консоль не появлялась?

Компиляция файла py в исполняемый файл с Nuitka
В учебных материалах сообщают, что надо установить компилятор MinGW. В то же время на сайте Nuitka...

Как создать в Nuitka 32бит программу?
Всем привет!Столкнулся с проблемой в nuitka,мне нужно создать 32 битный екзешник изпользовал эту комманду: python -m nuitka...

Nuitka создает исполняемый файл, но не работает русская кодировка
Здравствуйте. Понадобилась производительность питона. Воспользовался Nuitka. Удобно то, что она переводит питон-текст в Cи язык, а потом...

Не запускаются AVZ. exe, CCleaner. exe, AutoLogger. exe, regedit. exe. Словил вирус bizigames
Доброго времени суток. Захотел я почистить комп от мусора всякого при помощи CCleaner, как не тут-то было. В общем, .exeшники...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru