Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/103: Рейтинг темы: голосов - 103, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 16.07.2018
Сообщений: 5

Как скомпилировать python в файл .exe на Linux с pyinstaller?

16.07.2018, 19:55. Показов 21752. Ответов 22

Студворк — интернет-сервис помощи студентам
Доброе время суток всем прогерам. Мне нужна помощь. Ситуация такая. Недавно начал изучать python. Если быть точнее, я сижу на Linux Mint 18 с установленными Python 2.7.12 и Python 3.5.2. Узнал такую тему, что файлы .py можно переиначивать в .exe (исполняемые файлы executable). Для этого установил себе pyinstaller. всё получается кроме одного. Вместо того, чтобы у меня получился файл блаблабла.exe у меня получается тупо файл без названия расширения, который никак не запустить. Наверное это файл ELF. Но как мне сделать настоящий EXEшник, работающий на винде?

Я использовал команду pyinstaller -F -w /путь к/файлу.py
В программе подключается tkinter

Python
1
2
3
4
5
6
7
8
9
10
11
12
import tkinter
 
# CONSTANTS
WIDTH = 640
HEIGHT = 480
BG_COLOR = 'white'
 
root = tkinter.Tk()
root.title("Test Program")
canvas = tkinter.Canvas(root, width=WIDTH, height=HEIGHT, bg=BG_COLOR)
canvas.pack()
root.mainloop()
Заранее, спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.07.2018, 19:55
Ответы с готовыми решениями:

Как скомпилировать python 3.3.3 в exe? Как забустить cx-Freeze что бы получить exe?
Здравствуйте, всем. Помогите, пожалуйста: Как скомпилировать python 3.3.3 в exe? Как забустить cx-Freeze что бы получить exe?

Преобразование python в exe через pyinstaller и auto-py-to-exe
Всем привет! Начал изучение Python и решил преобразовать простенький код в .exe и столкнулся с проблемами. Пытался установить...

Как скомпилировать с Python Kivy, в один exe?
Что только не пробывал, через PyInstaller не пошло, через cz_freeze тоже. Одна и та же проблема - екзешник запускается и сразу закрывается,...

22
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.07.2018, 14:41
Цитата Сообщение от ArchiPyStart Посмотреть сообщение
знал такую тему, что файлы .py можно переиначивать в .exe (исполняемые файлы executable)
Не переиначивать, а упаковывать. Python не компилируется в нативный код ОС.

Цитата Сообщение от ArchiPyStart Посмотреть сообщение
Наверное это файл ELF
Бинго!
А ты думал будет .exe? Это же linux, Карл!. Linux не знает, что такое exe.
pyexe-шник на лине можно получить только, если запускать pyinstaller под wine.

Цитата Сообщение от ArchiPyStart Посмотреть сообщение
Но как мне сделать настоящий EXEшник, работающий на винде?
Настоящий exe-шник никак. Python не компилируется в нативный код ОС.

А упаковать можно: через pyinstaller на windows.
1
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
17.07.2018, 15:00
ArchiPyStart, интересно, зачем.
pyinstaller существует подвинду, потому что питон не входит в стандартную поставку винды. В линуксе такой проблемы нет, без питона существуют, видимо, только очень урезаные версии.
0
0 / 0 / 0
Регистрация: 16.07.2018
Сообщений: 5
22.07.2018, 18:04  [ТС]
Большое спасибо, теперь мне полностью понятно и мои догадки оправдались. Пойду устанавливать pyinstaller на винду
0
0 / 0 / 0
Регистрация: 27.01.2015
Сообщений: 26
22.08.2022, 18:02
у меня вопрос обратный
Как упаковать из под винды 11 для линукса?
IDE PyCharm (Python 3.10)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
22.08.2022, 18:16
Alex D, вопрос встречный - нахрена упаковывать под линукс, если там питон стоит искаропки?
0
0 / 0 / 0
Регистрация: 27.01.2015
Сообщений: 26
22.08.2022, 18:22
iSmokeJC, Чтобы перенести на линукс и запустить как полноценную программу. Это конечная цель, и каким путём она будет достигнута не важно.
Есть варианты?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
22.08.2022, 18:28
Копируешь .py-файл и запускаешь. При желании можешь .desktop-файл написать, чтоб ваще-как-в-винде было
0
0 / 0 / 0
Регистрация: 27.01.2015
Сообщений: 26
22.08.2022, 18:38
iSmokeJC, тупо проект вместе с либами?
Или достаточно одного PY файла, а либы подтянуться сами?
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
22.08.2022, 21:23
Alex D, смотря какие либы. Если либы содержат скомпилированые *.dll, то на линуксе не запустится.
1
0 / 0 / 0
Регистрация: 27.01.2015
Сообщений: 26
22.08.2022, 21:54
u235, в файле с проект поиском нашёл 169 dll
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
22.08.2022, 22:00
Alex D, значит сохраняй названия модулей в requirements.txt (python pip freeze requirements.txt),
А на линуксе устанавливай их pip-ом из списка requirements.txt
1
0 / 0 / 0
Регистрация: 27.01.2015
Сообщений: 26
22.08.2022, 22:16
u235, чёт не понял куда сохранился requirements.txt, поиском не нашёл
Но да ладно, вручную перенёс из терминала в ТХТ
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
22.08.2022, 22:17
должно в рабочем каталоге, там, где открыта консоль. Используй перенаправление вывода.
Code
1
python pip freeze >  requirements.txt
1
0 / 0 / 0
Регистрация: 27.01.2015
Сообщений: 26
22.08.2022, 22:34
u235, на стороне линукса что прописать, чтобы поставить?
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
22.08.2022, 22:50
Alex D, это же гуглится на раз:
Code
1
python -m pip install -r requirements.txt
видимо трудно вам будет в линуксе...
1
0 / 0 / 0
Регистрация: 27.01.2015
Сообщений: 26
25.08.2022, 16:10
u235, что поделать, всю жизнь работал на винде(
Модули на линь установил, но всёравно есть необходимость скрыть исходный код в конечном продукте, хоть он и будет работать на лине.
Как это можно сделать?
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
25.08.2022, 16:57
Цитата Сообщение от Alex D Посмотреть сообщение
есть необходимость скрыть исходный код в конечном продукте
Ну скомпилируйте ваши .py в .pyc.. Код будет скрыт.. от школьников, правда.
0
0 / 0 / 0
Регистрация: 27.01.2015
Сообщений: 26
25.08.2022, 17:07
u235, понял, питон не компилируется как тотже C/C++
Кстати не все модули записались в requirements.txt, пришлось некоторые отлавливать в ошибках и подгружать вручную
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
26.08.2022, 14:14
Цитата Сообщение от u235 Посмотреть сообщение
pip install -r requirements.txt
Эта штука и для винды работает.
Цитата Сообщение от Alex D Посмотреть сообщение
Кстати не все модули записались в requirements.txt, пришлось некоторые отлавливать в ошибках и подгружать вручную
А вы не знаете, какие модули использует ваш проект?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.08.2022, 14:14
Помогаю со студенческими работами здесь

Как скомпилировать несколько файлов Python в один exe?
Здравствуйте, я написал калькулятор, но как скампилировать main и ui в один exe не знаю помогите пожалуйста кто знает. Main - from...

Как скомпилировать файл *.py в *.exe
Здравствуйте, уважаемые специалисты питона. Раньше не запаривался и писал программы на питон для себя, теперь же моими кодами пользуются и...

Сборка приложения Python в .EXE через PyInstaller 3.4 и запуск в Windows XP
День добрый! На машине Windows 10 x64 устанавливаю: - pycharm-community-2018.3.6 x32 - python-3.4.3.msi x32 -...

Как скомпилировать проект в exe файл?
Как скомпилировать проект в visual studio в exe

Как скомпилировать свой файл в exe?
Всем привет! Только начал изучать Питона. В консоли всё окей отображается, но как вынести всю работу на "все общее обозрение"? То...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru