Форум сайта python.su
0
пробовал cxFreeze, py2exe - работают, ура.
PyInstaller - доберусь еще.
Но “это же не наш метод” (с) Прикл. Шурика ! это все, как я понял - “врапперы”, то бишь они в *.exe пихают интерпретатор Питона и сам код *.py потом разворачивают на ходу и запускают.
Хочу “нормальный” *.exe - как сделать ? ( знал раньше asm x86, Паскаль, Дельфи ),
нашел PyAstra, ну, думаю сделаю из *.py ассемблер, а там соберу *.exe. так PyAstra делает АСМ, как я понял, для микроконтроллеров, а не для норм x86
понял, что можно как-то через Cython, но как тоже не понятно.
Понимаю, что можно через C/C++ проблема в том, что я их не знаю, а *.exe хочется сейчас, а не
неизвестно когда после обучения C. ( мне еще Python / Django надо доучить :-) )
Какие есть варианты ?
Офлайн
3
nuitka
Офлайн
0
спасибо, нашел, бегу пробовать
http://nuitka.net/blog/nuitka-a-python-compiler/
Офлайн
0
Все равно спасибо ! про nuitka не знал.
думаю nuitka тоже враппер. из 4 строчек программы:
=========== начало цитаты ==============
#
#
print(“Game over”)
input(“\n\nPress the enter key to exit.”)
==================== eof цитаты =======
сделало *.exe аж на 300 kb, а *.exe после запуска после вывода положенного выдало сообщение об ошибке в чисто Питоновском стиле:
(nuitka.bat была в python 2.7 )
===============================
Traceback (most recent call last):
File “…. ”, line 4, in <module>
File “<string>”, line 0
^
SyntaxError: unexpected EOF while parsing
===============================
Не везет Питону с компиляторами, вот и Wirbel отказался :-)
кстати, запускал “C:\Python27\Scripts\nuitka-python.bat –exe –execute one.py ”
из под Far-а, так фар повесился. А потом отдельно из под другого фара сделанный *.exe запустил - запускается, никого не вешая.
Отредактировано MantisABC (Апрель 27, 2012 17:36:05)
Офлайн
3
MantisABCАж 300kb - это не враппер, или не совсем враппер, а то, что ошибки - питоновский трейсбек, так это ж всяко лучше, чем, например:
сделало *.exe аж на 300 kb
application exited with code 1
Офлайн
31
У меня ошибку выдает
Traceback (most recent call last):
File "C:\Python27\Scripts\nuitka-pytho
from nuitka import Options
File "C:\Python27\Scripts\nuitka.py",
from nuitka import Options
ImportError: cannot import name Options
Офлайн
3
MantisABC, а зачем требуется именно “нормальный” *.exe?
нуитка пишет, что:
What it gives:
It is faster? Not really. Compiling takes a lot time, although it may be a one time action. At run time, performance comparisons with CPython show how well optimized CPython bytecode is interpreted. The compiled program is somewhat faster, currently pystone runs at 258% speed. But most often you will not yet notice any significant difference
Так стоит оно того или нет? И в каких случаях? Или просто «чтобы было»?
Офлайн
31
Уже второй день бьюсь…ошибка таже
Traceback (most recent call last):
File "C:\Python27\Scripts\nuitka-pytho
from nuitka import Options
File "C:\Python27\Scripts\nuitka.py",
from nuitka import Options
ImportError: cannot import name Options
Отредактировано sanodin (Апрель 28, 2012 21:55:28)
Офлайн
0
regallMantisABCАж 300kb - это не враппер, или не совсем враппер, а то, что ошибки - питоновский трейсбек, так это ж всяко лучше, чем, например:
сделало *.exe аж на 300 kbЕсли хотите разобраться, гляньте, как он строит приложение. В папочке build.<appname> можно увидеть C++ код.application exited with code 1
Да, он использует libpython для обработки питоновских конструкций, но автор в каждом релизе все ослабляет зависимость от этой либы. Как по мне, такой вот “инкрементальный” подход может дать хороший результат. Продукт еще довольно новый, версия 0.3, дальше, по идее, должно быть лучше.
p.s.
Wirbel 2 года как умер и поднять его пока никто не планирует
Офлайн
0
beelze
MantisABC, а зачем требуется именно “нормальный” *.exe?
нуитка пишет, что:
What it gives:
It is faster? Not really. Compiling takes a lot time, although it may be a one time action. At run time, performance comparisons with CPython show how well optimized CPython bytecode is interpreted. The compiled program is somewhat faster, currently pystone runs at 258% speed. But most often you will not yet notice any significant difference
Так стоит оно того или нет? И в каких случаях? Или просто «чтобы было»?
Офлайн