Dobrý den, nevidím problém v nutnosti instalaci pythonu, ale v tom, že chci vytvořit samostatný program, který je ve svém adresáři, nejsou v něm přímo zdrojové kódy (čímž už máte problémy s verzí globálně instalovaného pythonu) a není závislý na ničem mimo svůj adresář snad kromě systémových souborů a api.
A hlavně, chci se spolehnout, že když takový program odzkouším na třech počítačích s různou konfigurací, že budu mít velkou šanci, že pojede i na čtvrtém se stejnou konfigurací. A to se bohužel po použití py2exe neděje, a je dost náhoda, jaké chybějící moduly ohlásí. Mě by bohatě stačilo, kdyby fungovala py2exe fungovala jak má. Kdybych věděl, že když nahlásí, že vše je v pořádku, a žádné moduly nechybí, tak abych pak nedostával výjimky na chybějící moduly na jiných počítačích. Já vlastně jenom chci, aby to plnilo základní funkčnost, protože pokud py2exe nedokáže vytvořit bezchybnou binárku, pak je jeho existence trochu zbytečná. Té chybě s ntdll.dll se nedivím, protože windows mají kernelové api, kterým se říká native api a ntdll.dll není nic jiného, než vyvedení některých funkcí z kernelu ven. Ale protože je to nízká kernelová záležitost, může to být (i když zatím moc není) silně windows version depended a naprostá většina funkcí z ntdll.dll jsou nedokumentované a pouze pro vnitřní použití microsoftem. Každý modul, který to používá by měl mít sakra pádný důvod proč použít ntdll.dll a ne standardní api operačního systému. Bohužel stejný nešvar je v CygWin, kde používají ntdll.dll na naprosto běžné souborové operace. Navíc si málokdo, kdo se pustí do použití ntdll odpustí používání nedokumentovaných funkcí a pak je to prasečina. Prostě používání ntdll.dll pro normální programy je pitomost. Roman Miklos napsal(a): > > 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 <[EMAIL PROTECTED]>* > Sent by: [EMAIL PROTECTED] > > 19.09.2006 08:00 > Please respond to > Konference PyCZ <[email protected]> > > > > To > Konference PyCZ <[email protected]> > 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 > [email protected] > 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 > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
