[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