[python] py2exe problém

Roman Miklos RMiklos na pss.sk
Úterý Září 19 10:37:32 CEST 2006


I ja som pouzival Py2exe. Robil maly program, ktory pristupoval z PC na 
AS/400 a robil tam nejake SQL-statistiky. Nepouzival som ziadne exoticke 
moduly, ale len to co je dodavane s ActivePythonom (Tkinter ...atd). 
Vysledok bol, ze na pojom pocitaci a niektorym kolegom to bezalo ok, ale 
asi dvom dalsim kolegom to vyhadzovalo vo Windowse chybu "...faulting 
module ntdll.dll...fault address 0x00011e58". Zatial sa to nepodarilo 
vyriesit...
 
Podobne ako ViNiL ale nechapem, preco v nutnosti instalacie Pythonu vidis 
nejaky problem.
Je to presne to iste, ako s inymi nastrojmi: ked robis v Jave musis 
instalovat Javu, ked robis v Perle musis instalovat Perl, ..atd
Exe je i tak obmedzene iba na jednu platformu. Naproti tomu ked napises 
skript v Pythone univerzalne, moze ti bezat bezo zmeny na viacerych 
platformach. Nemusis k programu takisto davat zdrojak, len skript 
skompilujes na kazdej platforme cez py2exe do bytecodu (.pyc)
Mne sa v mojej firme (banka) takisto pred nejakym casom podarilo ukazat, 
ze Python je na urcite veci velmi uzitocny a zaviest ho tu do produkcie 
:-)
Pythonovske programy bezia u nas na AS/400 v produkcnom prostredi 
skompilovane do bytecodu. Bolo to myslene povodne kvoli bezpecnosti, aby 
pritom nebol zdrojak a dalo sa zistit, kedy bol dany pyc-subor 
skompilovany atd... Ale nakoniec aj toto vedie len k problemom, lebo pri 
zmene programu treba vzdy prekompilovat aj bytekod. Podobne je to i so 
zmenou verziu Pythonu, lebo inak mozes dostat chybu "RuntimeError: Bad 
magic number in .pyc file"
Najlepsie je pouzivat rovno zdrojaky a zabezpecit system tak, aby k 
zdrojakom nemali pristup nekompetetne osoby. 

Roman




superman <feed na centrum.cz> 
Sent by: python-bounces na py.cz
19.09.2006 08:00
Please respond to
Konference PyCZ <python na py.cz>


To
Konference PyCZ <python na py.cz>
cc

Subject
Re: [python] py2exe problém






Pokud Vás to ještě zajímá, nakonec jsem program s py2exe rozchodil a 
přeložil, ale musel jsem vyhodit modul logger a napsat si jednoduché 
logování vlastními silami. Modul logger měl totiž v handlerech odkazy na 
import řady různých věcí, které se sice normálně vůbec neuplatnily, ale 
při přeložení do exe se všechny hledaly. A řadu z nich jsem neměl ani 
nainstalovanou.

Pochopil jsem dvě věci, že python je prostě interpretr a překlad do exe 
je z nouze ctnost kde mnoho modulů začne být problematických. A také to, 
že py2exe prostě jen hloupě prochází příkazy import a co tam najde to se 
snaží připojit a pak na tom trvá uvnitř exe. Jenže dost často to 
nedokáže moc dobře a pak jsou problémy.

Trochu mě to zklamalo, protože ne vždy člověk chce distribuovat zdrojové 
kódy a ne vše chce dávat jako open source. A hlavně potřebujete něco co 
je nezávislé na tom, jestli je, nebo není naintalován interpretr pythonu.

Jak tyto problémy vlastně řešíte vy? Jak vyrábíte verze, které 
nepotřebují nainstalovaný python? Já bych hrozně rád vyvíjel v pythonu a 
nahradil tak částečně vývoj v C++, prostě python se mi zdá velmi dobrý. 
Děkuji za podněty, rád bych python používal v maximální míře, ale tyhle 
věci mi dost brání.
_______________________________________________
Python mailing list
Python na py.cz
http://www.py.cz/mailman/listinfo/python


Mgr. Ing. Roman MIKLÓŠ 
Prvá stavebná sporiteľňa a.s. 
Bajkalská 30, P. O. Box 48 
829 48  Bratislava 25 
Tel.: +421/ 2 / 582 31 174 
Fax: +421/ 2 / 582 31 109 
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/python/attachments/20060919/fe6403ef/attachment.htm 


Další informace o konferenci Python