Macchina virtuale per compilare/generare eseguibili windows

di il
6 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 

6 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.

  • Re: Macchina virtuale per compilare/generare eseguibili windows

    Si, sicuramente hai ragione, avevo già creato una macchina virtuale windows con tutta un'installazione pulita dove avevo installato python e tutte le librerie che al momento mi occorrevano ma niente da fare ........ 

    Un'ultima domanda, se non ti disturbo.

    Perché se lancio lo script python da powershell tramite l'interprete tutto funziona quindi la libreria è quella giusta mentre quando costruisco l'eseguibile va a prendere, presumo, la lib con la versione sbagliata?

    Grazie per la pazienza buon lavoro anche a te.

  • Re: Macchina virtuale per compilare/generare eseguibili windows

    Non sò se "sotto" PS ci sia qualcosa che aiuti a scegliere le librerie corrette. Ma questo mi pare normale visto che usi l'ambiente installato normalmente.

    Quando crei l'eseguibile, PyScripter crea una sottocartella (_internal) in cui ci sono tutte le librerie, script e altro che serve a ricreare l'ambiente per fare girare l'eseguibile creato.

    Dentro li (cioè nella sottocartella "_internal" devono starci TUTTE le librerie usate, compreso tutte le librerie di ausilio. E se non ci sono per qualche motivo devi copiarle.

    Questo almeno per la versione 3.12 di Python.

    Tanto per dirti, io adesso ho Python 3.14.1 installato come ambiente di sviluppo (che non uso mai di fatto, se non per "compilare" i progetti sviluppati per mantenerli aggiornati) e uno dei programmi "esecutizzati" ( :) ) come 312  gira tranquillamente visto che ha la python312.dll nella cartella "_internal".

    Vado a memoria, ma se non sbaglio all'inizio del programma principale ho dovuto inserire 

    sys.path.append('./_internal')

    oppure

    sys.path.append('./')

    per fare funzionare tutto.

    *** Perdonatemi la licenza poetica "esecutizzati" ....

  • Re: Macchina virtuale per compilare/generare eseguibili windows

    Grazie per le delucidazioni...... vado a studiare e smanettare un pò.   

Devi accedere o registrarti per scrivere nel forum
6 risposte