[ MarkoBalkan @ 02.11.2008. 11:39 ] @
kako? a glavni file bude exe. |
[ MarkoBalkan @ 02.11.2008. 11:39 ] @
[ MarkoBalkan @ 02.11.2008. 11:44 ] @
u pyc se pretvara kad se na py file dva puta klikne i nakon što se otvori.
kad se pokreće pyc file, pokreće se i consola, kako onemogučiti consolu kod pokretanja pyc file ili još bolje onemogučiti pokretanje pyc file? [ Au197/79 @ 02.11.2008. 17:06 ] @
Imaš py2exe program koji pakuje python program u windowsow exe.
[ MarkoBalkan @ 02.11.2008. 17:41 ] @
ja neću sve u exe.samo glavni file, a ostalo da budu pyd file-ovi ili pyc, ali da se ne mogu pokretati tj. da nekako onemogučim izvođenje izvan glavnog file-a?
netko bi rekao da filozofiram, ali zamisli da imaš određen broj modula, i napraviš izmjenu u jednom, i onda bi morao ponovno prebacivat u exe i vjerojatno veličina exe file bi bila dosta velika. zato u glavni dio ide glavna forma, login korisnika i dinamičko kreiranje menu-a iz baze sa određenim privilegijama za tog korisnika. a sve ostalo ide u module. posebno data layer, mali framework za pristupanje bazi, posebni dio za rad sa upitima, procedurama itd... zato sam postavio ovakvo pitanje. našao sam ovaj primjer, ali ne radi mi baš. http://www.py2exe.org/index.cgi/Tutorial dobivam ovu poruku Traceback (most recent call last): File "C:\Documents and Settings\Marko\workspace\proba\src\moje\setup.py", line 4, in <module> setup(windows=["1.py"]) File "C:\Python25\lib\distutils\core.py", line 139, in setup raise SystemExit, gen_usage(dist.script_name) + "\nerror: %s" % msg SystemExit: usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: setup.py --help [cmd1 cmd2 ...] or: setup.py --help-commands or: setup.py cmd --help error: no commands supplied kako prabciti py code u pyc, ali kad pokrenem pyc file, da mi se ne otvara consola? ili kako bi mogao žaštititi svoj code od krađe? pa mi je idealno da code prebacim u pyc. [Ovu poruku je menjao MarkoBalkan dana 02.11.2008. u 21:09 GMT+1] [ StefanJer91 @ 02.11.2008. 23:58 ] @
Citat: MarkoBalkan: ja neću sve u exe.samo glavni file, a ostalo da budu pyd file-ovi ili pyc, ali da se ne mogu pokretati tj. da nekako onemogučim izvođenje izvan glavnog file-a? netko bi rekao da filozofiram, ali zamisli da imaš određen broj modula, i napraviš izmjenu u jednom, i onda bi morao ponovno prebacivat u exe i vjerojatno veličina exe file bi bila dosta velika. Zapravo, velicina pythonovog exe-a koji se napravi sa py2exe uglavnom je srazmerna velicine glavne skripte, tj one koju pretvars u exe. Svi ostali .pyc fileovi su vec kompajlirani i nema mnogo oduzetog vremena jer su oni u library.zip cini mi se. Pogledaj bolje na py2exe sajtu pise lepo kako sta radi, cak i za taj error koji dobijas. Inace problem je u tome sto treba da skriptu pokrenes iz command prompta tako sto ukucas python setup.py py2exe, a da pre toga postavis path. Na ovom forumu sam sve detaljno objasnio i ostavio nekoliko linkova http://www.sk.rs/forum/showthread.php?t=35262 [ MarkoBalkan @ 03.11.2008. 05:48 ] @
puno hvala, taj path sam zaboravio tj. nisam znao za njega.
a ovo što sam napisao za kompakliranje u pyc, on mi samo kompajlira fileove koji su dio python25 foldera. ako dodam koji file izvana i kliknem tog ne kompajlira. na koji nalin ide kompajliranje u pyc? kad sa py2exe buildam svoju skriptu, zar ja moram dalje koristiti ona dva foldera da bi mi radilo? [ eBojan @ 03.11.2008. 07:27 ] @
A da li si probao i da li ti odgovara da daj glavni .py file prebacis u .pyw. Onda se ne pokreće konzola!
[ MarkoBalkan @ 03.11.2008. 08:26 ] @
Citat: eBojan: A da li si probao i da li ti odgovara da daj glavni .py file prebacis u .pyw. Onda se ne pokreće konzola! to radi. ali kad mi primjere prebaci u pyc, onda se i dalje pokreće consola. ja bi htio pyw ili py prebaciti u pyc, bez console i onemogućiti pokretanje. [ StefanJer91 @ 03.11.2008. 09:40 ] @
.pyc fajl je u sustini .py fajl kada mu se oduzmu komentari :) Tacnije, pre-kompajlirani .py fajl. Py2exe radi tako sto uz glavnu skriptu programa, koju pretvara u .exe salje i interpreter u vidu Python-ovog dll-a. U library.zip se nalaze svi .pyc fajlovi iz python-ove standardne biblioteke (vecinu njih mozes da obrises kako bi smanjio velicinu) i svi ostali .pyc fajlovi koji su iz tvog programa. Dakle, ne vidim u sustini koji je problem, jer pri kreiranju .exe-a svi .pyc fajlovi su ti u library.zip i ne verujem da bi neko od obicnih korisnika cackao tu. S druge strane, ne vidim zasto uopste stavljas te primere ako ne zelis da korisnik moze da ih koristi. Ako ti trebaju neke funkicje ili klase, njih napravis u posebnim .py fajlovima, a primeri mogu da koriste stvari iz tih skripti i resen problem :)
[ MarkoBalkan @ 03.11.2008. 09:58 ] @
Citat: StefanJer91: .pyc fajl je u sustini .py fajl kada mu se oduzmu komentari :) Tacnije, pre-kompajlirani .py fajl. Py2exe radi tako sto uz glavnu skriptu programa, koju pretvara u .exe salje i interpreter u vidu Python-ovog dll-a. U library.zip se nalaze svi .pyc fajlovi iz python-ove standardne biblioteke (vecinu njih mozes da obrises kako bi smanjio velicinu) i svi ostali .pyc fajlovi koji su iz tvog programa. Dakle, ne vidim u sustini koji je problem, jer pri kreiranju .exe-a svi .pyc fajlovi su ti u library.zip i ne verujem da bi neko od obicnih korisnika cackao tu. S druge strane, ne vidim zasto uopste stavljas te primere ako ne zelis da korisnik moze da ih koristi. Ako ti trebaju neke funkicje ili klase, njih napravis u posebnim .py fajlovima, a primeri mogu da koriste stvari iz tih skripti i resen problem :) jedno su primjeri, a drugo je neka aplikacija posebne namjene. [ MarkoBalkan @ 03.11.2008. 17:22 ] @
šta mi sve treba od tih silnih fileova?
exe radi i bez prvog direktorija(build). radi se o 14 MB. [ StefanJer91 @ 04.11.2008. 07:53 ] @
Trebalo bi da vecina korisnika ima msvcr71.dll tako da njega mozes da obrises, jedan od exe-a je za starije windowse, u library folderu mozes da pobrises dosta stvari i da mu smanjis velicinu prilicino ali to moze biti zamorno. Verovatno ti ne trebaju ni svi ovi .pyd i .dll fajlovi. Mozes da brises jedan po jedan pa testiras hoce li prog. da se otvori ako nece, onda vratis fajl, nema ti druge. Naravno ovo uradis samo jednom, posle znas koji ti dll-ovi i ostalo trebaju pa kada kompajliras samo njih dodas uz exe.
[ MarkoBalkan @ 04.11.2008. 08:25 ] @
znaći ako ću u projektu koristiti nekoliko modula, bit će to poprilična količina file-ova.
recimo python, wxpython, reports, chart, plot, db konektor i još neke. [ StefanJer91 @ 04.11.2008. 16:35 ] @
Upravo tako :( Mada, ako pravis program za nekoga, nekoliko mb-a vise nece biti problem. Medjutim problem je ako zelis da tvoj softver bude dostupan siroj javnosti, a da bude zatvorenog koda. Po meni jedino resenje koje je dobro u toj situaciji, sobzirom da jos u nasoj zemlji ima dosta dial-up korisnika, jeste da posebno distribuiras dll-ove od exe-a i library.zip-a koji su u sustini jedini fajlovi koji se menjaju. Tako korisnici nece morati stalno da skidaju sve te dll-ove. Ipak, ako pravis neki softver koji je besplatan, ne vidim zasto ne bi bio open-source pod recimo zlib-ovom licencom.
[ MarkoBalkan @ 05.11.2008. 05:55 ] @
problem nastaje kad imaš nekoliko desetina klijenata.
dali bi radilo ako se na server instalira python, i potrebni moduli. u neki folder s stavi aplikacija, napravi se share foldera gdje je aplikacija. u taj folder gdje se nalazi aplikacija stavi se shortcat do pythona(do exe file). i kad klijent pokrene glavni file aplikacije(pyc) automatski vuče i potrebne komponente(python, wxpython...). jer ako se izdaje nova verzija, pa neće se svaki put na svaki klijent kopirati te novosti. zamisli da imaš 100 klijenata. ovako se iskopira jedanput na server i to je to. a prvi put se sve posloži na klijentima, shortkati i ostalo. Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.
|