Найти - Пользователи
Полная версия: сделать *.exe, но не враппер
Начало » Python для новичков » сделать *.exe, но не враппер
1 2
MantisABC
пробовал cxFreeze, py2exe - работают, ура.

PyInstaller - доберусь еще.

Но “это же не наш метод” (с) Прикл. Шурика ! это все, как я понял - “врапперы”, то бишь они в *.exe пихают интерпретатор Питона и сам код *.py потом разворачивают на ходу и запускают.

Хочу “нормальный” *.exe - как сделать ? ( знал раньше asm x86, Паскаль, Дельфи ),

нашел PyAstra, ну, думаю сделаю из *.py ассемблер, а там соберу *.exe. так PyAstra делает АСМ, как я понял, для микроконтроллеров, а не для норм x86

понял, что можно как-то через Cython, но как тоже не понятно.
Понимаю, что можно через C/C++ проблема в том, что я их не знаю, а *.exe хочется сейчас, а не
неизвестно когда после обучения C. ( мне еще Python / Django надо доучить :-) )

Какие есть варианты ?





regall
nuitka
MantisABC
спасибо, нашел, бегу пробовать

http://nuitka.net/blog/nuitka-a-python-compiler/
MantisABC
Все равно спасибо ! про 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 запустил - запускается, никого не вешая.

regall
MantisABC
сделало *.exe аж на 300 kb
Аж 300kb - это не враппер, или не совсем враппер, а то, что ошибки - питоновский трейсбек, так это ж всяко лучше, чем, например:
application exited with code 1
Если хотите разобраться, гляньте, как он строит приложение. В папочке build.<appname> можно увидеть C++ код.

Да, он использует libpython для обработки питоновских конструкций, но автор в каждом релизе все ослабляет зависимость от этой либы. Как по мне, такой вот “инкрементальный” подход может дать хороший результат. Продукт еще довольно новый, версия 0.3, дальше, по идее, должно быть лучше.

p.s.
Wirbel 2 года как умер и поднять его пока никто не планирует
sanodin
У меня ошибку выдает

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
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


Так стоит оно того или нет? И в каких случаях? Или просто «чтобы было»?
sanodin
Уже второй день бьюсь…ошибка таже

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

не пойму,что еще надо…модуль есть а импорт сделать не может?

MantisABC,Вы подробней процесс описать можете?Вроде все понятно,но может где то туплю.
MantisABC
regall
MantisABC
сделало *.exe аж на 300 kb
Аж 300kb - это не враппер, или не совсем враппер, а то, что ошибки - питоновский трейсбек, так это ж всяко лучше, чем, например:
application exited with code 1
Если хотите разобраться, гляньте, как он строит приложение. В папочке build.<appname> можно увидеть C++ код.

Да, он использует libpython для обработки питоновских конструкций, но автор в каждом релизе все ослабляет зависимость от этой либы. Как по мне, такой вот “инкрементальный” подход может дать хороший результат. Продукт еще довольно новый, версия 0.3, дальше, по идее, должно быть лучше.

p.s.
Wirbel 2 года как умер и поднять его пока никто не планирует


Спасибо, теперь понятно.
MantisABC
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

Так стоит оно того или нет? И в каких случаях? Или просто «чтобы было»?

Ну да, “шоб було”, привык, когда на asm/TP/Delphi писал, что *.exe - делу венец !

ну и все-равно, иногда без *.exe сложно, хотя обхожусь батником, вызывающим нужное в комбинации.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB