AlexPhoenix
Март 10, 2010 16:34:52
Здравствуйте!
Вопрос такой: а есть ли аналог py2exe для python 3k? И если нет, можно ли вообще как-нибудь скомпилировать программку на 3к?
Заранее спасибо.
igor.kaist
Март 10, 2010 16:49:06
AlexPhoenix
Март 10, 2010 17:15:19
Спасибо.
Очень неплохая вещь.
GoldFinch
Март 22, 2010 19:31:41
при использовании cx_Freeze
из небольшого скрипта получается
python31.dll 2Мб, main.exe ~1.8Мб, и куча .pyd на 1.7Мб
так и должно быть?
Zubchick
Март 22, 2010 20:35:57
ну да, а ты хотел бинарник на 10 килобайт? :)
правда насчет pyd не уверен, я не пользовался фризом….
GoldFinch
Март 22, 2010 21:10:52
все же с фризом что-то не то.
обработал им скрипт
# -*- coding: UTF-8 -*-
"""Тестовая программа
>>> 1+1
2
"""
print('hello world')
if __name__ == "__main__":
import doctest
doctest.testmod()
получил .exe размером 1.5Мб, который вроде как является ZIP SFX
%)
Ferroman
Март 22, 2010 21:13:03
А как должно быть?
GoldFinch
Март 22, 2010 21:32:34
Ferroman
а что может делать стаб размером 1.5Мб?
dartNNN
Март 23, 2010 04:43:10
Суть компиляции в exe просто в том, что интерперетатор со всеми необходимыми dll, модулями и вашим скриптом запаиваются в файл, который незаметно для юзера запускает интерпретатор и ваш скрипт. Соответственно если сложить вместе размер интерпретатора, dll'ок и модулей, то должен получиться примерно такой размер. У меня вообще ситуация (кстати спасибо за топик, давно сам мечтал скомпилить свои творения) взял скрипт с использованием PyQt, результат:
exe весом в 1,5 Мб
dll от питона и от PyQt каждая по несколько метров
pyd модули от PyQt по несколько метров
В сумме вышло 18 Мб :) Зато работает :)
igor.kaist
Март 23, 2010 11:52:09
Можно размер уменьшить, поищите на форуме, это уже обсуждалось.