View Full Version : [Python] problema compilare file in .exe
mattoDNA
03-09-2011, 02:21
uso il programma py2exe.. uso il metodo di mettere quella stringa all'inizio del codice e farlo partire da dos eccecc.. ma non succede niente.. :S
HELP
e poi, non c'e qualcosa di + semplice?
cdimauro
03-09-2011, 06:26
Non ho mai usato di questi programmi, ma ho sentito parlare molto bene di PyInstaller (http://www.pyinstaller.org/).
Vedi se riesci a risolvere con questo (anche se Py2Exe è molto gettonato, e mi sembra strano il problema che hai avuto).
ingframin
03-09-2011, 07:33
Ma hai scritto il file di configurazione di py2exe?
AnonimoVeneziano
03-09-2011, 09:48
Non ti serve unire i programmi python in un eseguibile per farli partire.
Non hai alcun vantaggio nel farlo. Serve solo per distribuire il programma al pubblico quando hai finito di farlo, in maniera da semplificare la sua esecuzione ai non programmatori
I programmi python puoi farli partire usando l'interprete.
Ti conviene aggiungere il percorso all'interprete nel PATH di Windows. Per farlo devi andare nel Pannello di Controllo -> Sistema -> Avanzate -> Variabili d'Ambiente.
Trova la variabile "PATH" nella lista e aggiungici il percorso dove python è stato installato(che dovrebbe essere un qualcosa tipo "C:\Python" o "C:\Python32" o simile).
Una volta fatto questo apri un terminale, vai dove si trova il file del tuo programma (mettiamo che tu l'abbia chiamato "programma.py") e lancialo col comando:
python programma.py
Ciao
mattoDNA
03-09-2011, 14:39
si lo so che per eseguirli posso usare l'interprete, ma nel caso volessi darli a un mio amico che non ha python? eh.. quel py2exe non va.. adesso provo con pYinstaller
PROBLEMA: come si usa pyinstaller?
ma qualcosa di + semplice non c'e? :S
se qualcuno di buon cuore mi dica passo passo come far funzionare py2exe
mattoDNA
03-09-2011, 16:04
allora, ho capito come far funzionare py2exe, problema risolto! ma..
una volta creato il file eseguibile del programma, mi crea un file .dll e una libreria compressa.. adesso, se volessi far partire questo programma, senza altri file, come faccio? non mi serve l'archivio autoestraente.. vorrei che per farlo funzionare basti solo aprire il file exe.. come per esempio quando si scrive un programma in C con dev c++ lo si compila, si trasforma in .exe, e funziona da solo senza bisogno di altri file.. come si fa?
cdimauro
03-09-2011, 18:48
Veramente con Py2Exe (e PyInstaller) funziona proprio così: ti creano un solo exe con tutto dentro, e quando lo lanci parte il programma in Python.
mattoDNA
03-09-2011, 19:07
no aspetta.. in realta oltre all'exe si crea un file .dll e un library compresso.. e se io sposto il file eseguibile in una cartella dove non ci sono la .dll e la library, non funziona.. io vorrei fare in modo che fosse tutto dentro l'eseguibile.. come fare?
cdimauro
04-09-2011, 06:03
Francamente non ne ho idea. So che dovrebbero crearti un solo exe, appunto, con dentro tutto. E' la prima volta che sento di altri file generati.
mattoDNA
04-09-2011, 12:54
nono, te lo confermo.. mi crea un file .dll e un file compresso che si chiama library.zip.. se provo a spostare il file exe in una directory dove non sono presenti quei 2 file, il programma non va..
AnonimoVeneziano
04-09-2011, 13:24
E' normale , Py2Exe fa così . Nello zip c'è una copia dell'interprete python + librerie e dei moduli .pyc compilati in bytecode che servono al programma per funzionare (oltre al tuo programma)
Il file .exe si occupa di aprire lo zip ed eseguire il programma contenuto con l'interprete.
Py2Exe non compila veramente il programma in python in un eseguibile, è solo un modo per distribuirlo in maniera più agevole (ossia senza che colui che lo deve fare girare debba installare l'interprete per conto suo) , ma il programma è ancora interpretato.
Non conosco di altri sistemi per "exeizzare" un programma, ma sono sicuro che se esistono fanno tutti una cosa molto simile e in caso ce ne sia qualcuno che genere un solo file .exe allora è perchè ha embeddato lo zip dentro nell'eseguibile ;)
mattoDNA
04-09-2011, 13:47
la domanda sorge spontanea.. come si fa ad "embdeddare"(?) lo zip dentro l'eseguibile?
cmq con devc++ si crea solo l'exe.. ma il C lo vedrò in seguito..
mattoDNA
05-09-2011, 14:46
UP
AnonimoVeneziano
05-09-2011, 16:09
Probabilmente PyInstaller lo fa (non l'ho mai usato, ho sempre usato Py2Exe e mi è bastato per tutto quello che dovevo fare, quindi non so) e non credo ci sia niente di più facile che Py2Exe o PyInstaller per fare questo.
Comunque secondo me ti stai concentrando troppo su cose inutili. Hai detto che sei alle prime armi della programmazione e tools del genere servono per la distribuzione del programma e fino a che non imparerai a programmare adeguatamente (cosa per cui ti ci vorrà diverso tempo) avrai ben poco da distribuire. Ti conviene concentrarti a seguire il libro che ti è stato consigliato che è molto buono pagina per pagina (visto che è il tuo primo approccio alla programmazione è così che devi fare) e lanciare gli esempi o gli esercizi usando l'interprete e lasciando stare py2exe/installer. Inoltre se vuoi un consiglio di uno che ha imparato a programmare come te inizialmente da autodidatta (oramai parecchi anni fa) evita di saltare da un libro/tutorial all'altro o da un sito all'altro, ma scegliene uno, il migliore secondo te o secondo chi ti consiglia e poi segui quello. Passare da una risorsa all'altra all'inizio ti mette solo confusione perchè ognuno si concentra su particolari differenti e hanno differenti approcci all'insegnamento.
Ovviamente è solo un consiglio, poi tu vedi di fare quello che credi meglio per te :)
Ciao
mattoDNA
05-09-2011, 19:50
grazie delle risposte (:
sto seguendo molto i vostri consigli, queste domande, sono di curisità.. la cosa mi affascina e ovviamente, mi viene da chiedere come fare tutte le cose possibili, e subito..
AnonimoVeneziano
06-09-2011, 16:49
grazie delle risposte (:
sto seguendo molto i vostri consigli, queste domande, sono di curisità.. la cosa mi affascina e ovviamente, mi viene da chiedere come fare tutte le cose possibili, e subito..
Certo, è lecito :)
Sappi comunque che a volte guardare troppo la cornice devia l'attenzione dal quadro ...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.