Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 2 / 0
Регистрация: 21.11.2013
Сообщений: 71

Как откомпилировать приложение

17.05.2015, 20:57. Показов 2395. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ - начал изучать Питон, до этого программировал на Дельфи. Не пойму как создавать эксешник, в Дельфи все автоматом делается - тут же геммор еще тот...

Сделал программу на Питоне, графику PyQT создал в Qt Designer, получил файл ui переделал его в py и подключил в Эклипсе к своему главному модулю. Написал главную программу - все ок.
Таким образом моя программа состоит из двух файлов: ui_interface.py и main.py

В UI интерфейс файле используется:
from PyQt4 import QtCore, QtGui

В главном файле используется:
import sys
import urllib.request
import html2text
from PyQt4 import QtGui
from RCC import Ui_MainWindow
from pickle import APPEND
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication
from PyQt4.QtWebKit import QWebView
from optparse import TitledHelpFormatter
from bs4 import BeautifulSoup
from PyQt4.uic.Compiler.qtproxies import QtCore
import ui_interface


Собственно сам вопрос: могу ли я сделать один exe файл, который будет содержать все сразу и запускаться на машине без Питона?
Использовал py2exe там какие-то ошибки вылазят, использовал cx_Freeze - получил папку с кучей файлов, все работает, но меня смущает размер, для простой программы больше 50 Мб! и потом что, всем юзерам этого монстра копировать что ли на компы? Бред...
Например та же программа на Дельфи у меня весила где-то 500 килобайт и работает без проблем на любой Окно системе.
В чем прикол Питона тогда если нормальной аппликации не сделать и надо долго танцевать с бубном?
Или все-таки есть какой-то простой способ о котором я еще не знаю?
Мне предпочтительно было бы получить 1 эксешник (ну или с парой длл максимум, но не целую папку всякого мусора), желательно чтобы все было в пределах 1 Мб размером.
Заранее спасибо за ваши советы!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.05.2015, 20:57
Ответы с готовыми решениями:

Можно ли откомпилировать приложение
Есть код, как запилить .exe файл

Как откомпилировать приложение
Скажите а как в Visual Studio 2012 написать и СОХРАНИТЬ программу на C? Именно на C, а не на C++

Как откомпилировать приложение
Да-да, снова я. 1) Вот сделал я программу, вот хочу я получить готовый продукт в папке Release, но как мне это сделать? 2) Если...

22
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
17.05.2015, 21:14
Лучший ответ Сообщение было отмечено withnofear как решение

Решение

Цитата Сообщение от withnofear Посмотреть сообщение
в Дельфи все автоматом делается - тут же геммор еще тот...
Ты почитай про язык на котором взялся писать. Python язык не компилируемый и один бинарник не должен автоматом создаваться. Язык скриптовый и распространяется он по средством копирования скриптов.
Если разбираться, то все эти проекты (cx freeze и т д) это костыли.

Я это все пишу, чтобы ты больше не начинал жаловаться на вещи, которые язык по идее не должен делать.

Цитата Сообщение от withnofear Посмотреть сообщение
могу ли я сделать один exe файл, который будет содержать все сразу и запускаться на машине без Питона?
Да можешь с помощью cx-freeze. Ну там будет не все 1 файле, а exe который будет запускать программу и рядом вспомогательные файлы, или можно создать 1 установочный msi файл, который будет автоматически устанавливать твою программу.

Цитата Сообщение от withnofear Посмотреть сообщение
нормальной аппликации
Аппликации в начальной школе на уроках рисования и труда делают и python к аппликациям ни какого отношения не имеет

Цитата Сообщение от withnofear Посмотреть сообщение
Мне предпочтительно было бы получить 1 эксешник (ну или с парой длл максимум, но не целую папку всякого мусора), желательно чтобы все было в пределах 1 Мб размером.
На тему количества файлов ответил выше. Размера 1 мб, ты не добъёшься, так что если это критично бери другой язык.

Цитата Сообщение от withnofear Посмотреть сообщение
В чем прикол Питона тогда если нормальной аппликации не сделать и надо долго танцевать с бубном?
Прикол в том, что на убогой винде все это не очень удобно, а в linux где почти в каждом дистре есть по 2 версии python его использовать очень удобно. + если уж на то пошло, то python создавался не с прицелом на разработку desktop приложений.
0
2 / 2 / 0
Регистрация: 21.11.2013
Сообщений: 71
17.05.2015, 21:15  [ТС]
То есть получается писать под Окна на Питоне не стоит?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
17.05.2015, 21:17
withnofear, Я не говорил не стоит. Я сказал, что когда пишешь под windows на python, возникают разные нюансы (вроде сборки exe), а в целом все не так плохо.
0
2 / 2 / 0
Регистрация: 21.11.2013
Сообщений: 71
17.05.2015, 21:18  [ТС]
Ну блин 50 Мб со всякой херней вместо 500 кб - по моему это очень плохо...
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
17.05.2015, 21:20
Ну не 50 мб, поменьше, около 30.
по моему это очень плохо
ну говорю же, если размер сильно критичен, то лучше выбери другой язык.
0
2 / 2 / 0
Регистрация: 21.11.2013
Сообщений: 71
17.05.2015, 21:20  [ТС]
А что нельзя сделать выборку и включить только те модули которые нужны, с чего вообще размер растет если вся программа 70 строк + UI - 166 строк.
Из-за модулей что ли?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
17.05.2015, 21:22
Из-за того, что в сборку помещается сам интерпретатор + необходимые библиотеки.
0
2 / 2 / 0
Регистрация: 21.11.2013
Сообщений: 71
18.05.2015, 23:25  [ТС]
Да, действительно язык перепутал - на C# 16 килобайт всего выходит, лол.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
19.05.2015, 06:10
withnofear, шарп - кака редкостная, но это уже совсем другой разговор .
0
2 / 2 / 0
Регистрация: 21.11.2013
Сообщений: 71
19.05.2015, 20:31  [ТС]
Ну для быстрых проектов под Окна как раз то что мне нужно!
Мне сейчас главное: размер / скорость / Окно выполнимость, а у него все это присутствует в полном размере.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.05.2015, 00:00
Цитата Сообщение от alex925 Посмотреть сообщение
ну говорю же, если размер сильно критичен, то лучше выбери другой язык.
Тут не только язык а еще и на WinApi придется писать чтобы такого размера добиться.

Например на С++Qt приложение буде занимать ~7.... 50 MБ (в зависимости от типа сборки)

Добавлено через 1 минуту
Цитата Сообщение от withnofear Посмотреть сообщение
Да, действительно язык перепутал - на C# 16 килобайт всего выходит, лол.
Лол ты, ибо С# тянет целую платформу на несколько гигов, из-за чего кстати твое приложение не будет пахать под линуксом идр платформами.

Добавлено через 4 минуты
Цитата Сообщение от alex925 Посмотреть сообщение
Прикол в том, что на убогой винде все это не очень удобно, а в linux где почти в каждом дистре есть по 2 версии python
С этим не соглашусь, под виндой куда проще поставить эти два дитрибютива, плюс поставить модули к примеру PyQt без сборки их из исходников.

Я к примеру под дебианом поставил модуль PyQt5 из реп и с горестью обнаружил что там нет модуля QMultimedia (который под виндой есть)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
20.05.2015, 00:08
Цитата Сообщение от Avazart Посмотреть сообщение
и с горестью обнаружил что там нет модуля QMultimedia
Да, читал на другом форуме про такую неприятность.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.05.2015, 00:15
Цитата Сообщение от withnofear Посмотреть сообщение
Например та же программа на Дельфи у меня весила где-то 500 килобайт и работает без проблем на любой Окно системе.
"Та" Делфи устарела, программы же на современной Dephi весят около 1...7 MБ к тому же старая делфи не кроссплатформенна.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
20.05.2015, 07:12
Цитата Сообщение от withnofear Посмотреть сообщение
Собственно сам вопрос: могу ли я сделать один exe файл, который будет содержать все сразу и запускаться на машине без Питона?
Всё можно, вот только стоит ли? Это действительно костыль, питон не для этого сделан.

Как тут верно отметили, питоновские программы распространяются, как скрипты. На компе должен быть установлен интерпретатор. Я сейчас говорю про типичный порядок deployment-a.
В линуксе он, как правило, уже есть, для винды надо установить отдельно. Не надо КАЖДЫЙ РАЗ распространять эти 50 мб, это действительно накладно. Можно установить "чистый" питон, можно сборку WinPython.
Для распространения программы на C# мы же требуем от юзера установленной .Net какой-то версии? Так и тут. Дело житейское.

Если хочется распространять именно нативный exe (что вряд ли имеет смысл, но если вдруг) - Питон - не лучший выбор.

А так вообще язык мега-крут. Это я сам, как бывший дельфин, говорю.
0
20.05.2015, 11:01

Не по теме:

Цитата Сообщение от dondublon Посмотреть сообщение
А так вообще язык мега-крут. Это я сам, как бывший дельфин, говорю.
После С++ чет я так не могу так сказать.

0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
20.05.2015, 11:09
Цитата Сообщение от Avazart Посмотреть сообщение
После С++ чет я так не могу так сказать
Нельзя просто так взять и сравнивать Python и C++. Совершенно разные области.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.05.2015, 11:17
А Python и Delphi?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
20.05.2015, 11:24
Avazart, deplhi можно, и с тем и с другим.
Потому что delphi является низкоуровневым языком, который претендует на нишу высокоуровневых. По первой причине его можно сравнивать с С++, по второй - с Питоном. И в обоих сравнениях он сливает с треском
Впрочем, для обсуждения этого вопроса тут, на форуме, уже есть специальные холивары.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.05.2015, 11:37
Цитата Сообщение от dondublon Посмотреть сообщение
Потому что delphi является низкоуровневым языком, который претендует на нишу высокоуровневых.
Чего ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2015, 11:37
Помогаю со студенческими работами здесь

Как откомпилировать приложение
Всем доброго времени суток! Возникли затруднения с созданием exe файла программы. Очень прошу помочь скомпилировать файлы! Файлы для...

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

Как откомпилировать приложение
Подскажите как создать exe фаил приложения windows forms? Код программы по дспойлером, если он конечно нужен... using System; using...

Как откомпилировать приложение
Доброё время суток, у меня есть проет но как скомпилировать ево со всема библиотеками штобы етот проет запускалса на других компах там шде...

Как откомпилировать приложение
#include <iostream> #include <fstream> #include <locale> #include <vector> using namespace std; #define FNAME_USERLIST...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru