Forum >> Programmazione Python >> Scripting >> Pyinstaller e script da eseguire in CLI

Pagina: 1

Ciao,
la mia intenzione è creare un eseguibile che mi apra il prompt dei comandi e mi esegua uno script .py




Come posso fare?

Ho pensato di usare pyinstaller, ma al momento riesco solo a fargli aprire il prompt (cli), non so come fargli però eseguire lo script.




Grazie,

Ciroxxx
Uhm, non è chiaro quello che stai cercando di fare.


Come inizio, diciamo che hai uno script python: per eseguirlo, puoi aprire un promt dei comandi e dare:

> python mio_script.py<invio>
(questo se hai python istallato, e se qualche altra condizione è soddisfatta... ma insomma, all'ingrosso dovrebbe funzionare).


In alternativa, puoi fare doppio clic sull'icona dello script (se qualche altra condizione è soddisfatta... ma dovrebbe funzionare pure questo).





Secondo passaggio: tu vorresti avere un *secondo* script python (chiamiamolo "launcher.py") che, una volta eseguito, apra un prompt dei comandi e con quello lanci a sua volta "mio_script.py"... Ora, questo è senza dubbio... possibile... in qualche modo... ma capisci che la domanda è: perché? Tanto comunque per eseguire "launcher.py" devi usare un prompt dei comandi (o un doppio clic)... cioè, la catena può proseguire all'infinito...




In tutto questo discorso, Pyinstaller non c'entra niente. Pyinstaller è uno strumento che (come altri analoghi) serve a pacchettizzare uno script python insieme a tutto quello che serve per eseguirlo (essenzialmente l'interprete python e le eventuali librerie occorrenti). L'idea è che, una volta pacchettizzato lo script in questo modo, tu puoi distribuirlo a chi vuoi ed eseguirlo su qualsiasi computer (windows) anche senza avere python installato. Semplicemente, fai doppio clic sul "pacchetto" (un file .exe, in effetti), e non hai bisogno di installare nient'altro.





Ora, Pyinstaller non serve a fare quello che tu dici di voler fare. Solo che non capisco neanche *perché* vuoi fare quella cosa lì, quindi... per il momento chiudo con un :question:.



Eheh grazie RicPol per avermi risposto.



Effettivamente se cliccando sullo script mio_script.py riesco ad eseguirlo nel prompt dei comandi a me va benissimo, il punto è che facendo doppio click sul file mi si apre un editor.

Mi potresti dire quali sono le condizioni da soddisfare?

Forse utile info, se dal prompt dei comandi scrivo:

> python mio_script.py<invio>
funziona tutto


Mah, è solo una questione di associazione dei file... puoi risolverla nel solito modo che si usa in windows: clic con il destro, "apri con...", selezioni l'eseguibile (python.exe, o anche solo il launcher py.exe) e dici "usa sempre questo"...


Non riesco a capire perché hai l'estensione ".py" associata con un editor: cioè, può essere una buona idea in effetti, ma di default quando installi python le estensioni sono associate all'eseguibile dell'interprete... boh, mi sa che hai combinato qualche stranezza nell'installazione.





In generale, forse ti conviene perdere un po' di tempo a leggere la mia guida (link in firma) che forse ti instrada nella direzione giusta...

Ok tutto chiaro!



In ogni caso la strada del pyinstaller è interessante perchè mi permette di esportare il mio script e farlo eseguire su computer che non hanno python installato come tu dicevi, e quindi divulgarlo, una cosa sicuramente da imparare.




Mi sai dare qualche input su come fare eseguire lo script my_script.py nel prompt cliccando su un file .exe creato tramite pyinstaller?




Grazie
Leggi la documentazione di Pyinstaller per questo. In ogni caso Pyinstaller pacchettizza in modo da eseguire poi lo script in "modalità cli" (ovvero, con la finestrella del prompt dei comandi) di default. Se il tuo script usa lo standard output/input, questo viene visualizzato nel prompt aperto. Devi invece dirgli in modo specifico quando vuoi pacchettizzare lo script in modo che il prompt *non* sia visibile.
Grazie RicPol, grazie ai tuoi consigli sono riuscito a fare quello che volevo.


Pagina: 1



Esegui il login per scrivere una risposta.