Macchina virtuale per compilare/generare eseguibili windows

di il
3 risposte

Macchina virtuale per compilare/generare eseguibili windows

Buona serata , come da oggetto vi chiedo se esiste una macchina virtuale o se è possibile crearne una in modo da poter generare da applicazioni python eseguibili windows.....

Premetto che è la prima volta che cerco di creare un file exe per windows e stò trovando un pò di difficoltà . Riesco a generare l'eseguibile win l'applicazione parte ma ad un certo punti va in crasch ..... dai log degli errori di windows sono riuscito a capire quale era il problema (una libreria per la connessione a mysql) ma nonostante l'ho specificata nel file .spec il risultato non cambia..... 

Da ricerche fatte sul web il problema potrebbe essere un diversa versione  della libreria utilizzata..... ma a questo punto mi sono cadute le braccia ....... 

Ora vi chiedo se esiste un modo/procedura per crearmi una macchina virtuale windows con tutto il necessario per compilare/generare il file exe una volta per tutte?

Utilizzo prevalentemente so linux ma ho un secondo disco con su windows 11 dove logicamente ho fatto tutti i tentativi..... la cosa che più mi fa girare che dal'interprete python l'applicazione funziona perfettamente sotto Win ...ma l'exe nisba....

spero di essere stato chiaro 

un saluto a tutti 

3 Risposte

  • Re: Macchina virtuale per compilare/generare eseguibili windows

    Non sò se ho capito bene:

    - da Linux vuoi lanciare un programma Windows generato da python ?

    Puoi usare macchine virtuali o container (docker).

    Puoi provare WinBoat o Wine (rispettivamente: https://www.winboat.app/    https://www.winehq.org/).

    Oppure macchine virtuali pure come VirtualBox (https://www.virtualbox.org/).

    P.S.: comunque non è che queste ti risolvano i problemi. Devi comunque configurarle ed installarci tutti i componenti necessari. E il tuo applicativo generato da Python (in realtà viene generato da PyInstallaer normalmente) deve comunque avere tutte le librerie collegate corrette per poter funzionare.

  • Re: Macchina virtuale per compilare/generare eseguibili windows

    Ciao grazie per la risposta Delphinium.... mi sono spiegato male

    Io sviluppo sotto Linux ma questa applicazione deve girare su una macchina windows quindi una volta che sotto linux il programma funzionava correttamente mi sono spostato sotto windows dove ho installato tutti i moduli python che servivano allo script tantè che l'applicazione lanciata dall'interprete pyrton funziona correttamente anche qui...... ma quando creo l'eseguibile con pyinstaller ho i problemi di cui sopra.

    "P.S.: comunque non è che queste ti risolvano i problemi. Devi comunque configurarle ed installarci tutti i componenti necessari. E il tuo applicativo generato da Python (in realtà viene generato da PyInstallaer normalmente) deve comunque avere tutte le librerie collegate corrette per poter funzionare."

    Giustamente come dici tu ..Io mi chiedevo se esiste una macchina virtuale Windows o una procedura per crearne una su cui installare il necessario una volta per tutte per poi poter compilare qualsiasi applicazione con pyinstaller senza dover ogni volta controllare se ci sono le librerie necessarie ecc ecc..

    Grazie di nuovo

  • Re: Macchina virtuale per compilare/generare eseguibili windows

    La natura di Python e di Windows è quella di avere i moduli (o librerie o DLL, etc ...). In particolare Python è sensibile alle versioni e quindi se non hai i moduli (specie se compilati, cioè i "pyd") corretti non c'è nulla che tu possa fare.

    Potresti creare una macchina virtule (vedi i link sopra) e poi ci carichi tutto quello che serve, aggiungendo di volta in volta il necessario.

    Però, uno dei grossi problemi è che Python ha i moduli che vengono aggiornati molto spesso e ognuno di questi vuole avere poi ambienti runtime, dll o altro  anche questi versionati correttamente. Qualche tempo fà con Yolo (che è sviluppato in Python) ricordo che per un progetto che è durato tre / quattro mesi o dovuto riaggiornare (e una volta ho dovuto eseguire un refactoring piuttosto pesante) diversi componenti più volte (necessari CUDA, Tensor, etc..) per aggiornamenti vari.

    Non sò se esiste qualcosa di già fatto (come un docker) che abbia tutto il necessario.

    Buon lavoro e buona fortuna.

Devi accedere o registrarti per scrivere nel forum
3 risposte