|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2009
Messaggi: 50
|
[Python] problema compilare file in .exe
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? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non ho mai usato di questi programmi, ma ho sentito parlare molto bene di PyInstaller.
Vedi se riesci a risolvere con questo (anche se Py2Exe è molto gettonato, e mi sembra strano il problema che hai avuto).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Ma hai scritto il file di configurazione di py2exe?
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
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
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Oct 2009
Messaggi: 50
|
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 Ultima modifica di mattoDNA : 03-09-2011 alle 14:45. |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Oct 2009
Messaggi: 50
|
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? |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
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.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Oct 2009
Messaggi: 50
|
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?
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
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.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Oct 2009
Messaggi: 50
|
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..
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
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 ![]()
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Oct 2009
Messaggi: 50
|
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.. |
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Oct 2009
Messaggi: 50
|
UP
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
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
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: Oct 2009
Messaggi: 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.. |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
![]() Sappi comunque che a volte guardare troppo la cornice devia l'attenzione dal quadro ...
__________________
GPU Compiler Engineer |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:16.