Converti PY in EXE
Impacchetta i file sorgente Python come eseguibili Windows con PyInstaller e alternative compatibili.
Converti i file PY online
Non abbiamo ancora un convertitore online dedicato per PY in EXE, ma puoi convertire i file PY online in questi formati:
Vuoi convertire PY in EXE?
Faccelo sapere. Scegliamo le prossime conversioni da aggiungere in base all'interesse.
Come convertire py in exe file
- Programmazione
- Valutazione: 5.0/5
Un utente Windows potrebbe aver bisogno di eseguire un programma Python senza installare Python o i relativi pacchetti. Impacchettare il programma come EXE crea un'applicazione Windows distribuibile, anche se non rende il programma portabile su altri sistemi operativi.
Che cos'è il formato PY
.py è l'estensione dei file sorgente per i programmi Python. Gli sviluppatori scrivono i file PY in editor e IDE come Visual Studio Code, PyCharm, IDLE o Notepad++, quindi li eseguono con l'interprete Python o li importano come moduli.
Un file PY contiene codice sorgente Python leggibile, non un eseguibile Windows. Per eseguirlo normalmente sono necessarie una versione compatibile di Python e tutte le dipendenze utilizzate dal programma, come requests, PyQt6 o pandas. Gli sviluppatori Python, gli analisti di dati, gli autori di automazioni e gli sviluppatori di applicazioni desktop utilizzano comunemente questo formato.
Che cos'è il formato EXE
.exe è la consueta estensione del nome file per un eseguibile Windows, che generalmente utilizza il formato Windows Portable Executable. Windows può avviare direttamente un EXE, quindi di solito i destinatari non hanno bisogno di un'installazione separata di Python quando l'interprete, le librerie e i file dell'applicazione sono stati impacchettati al suo interno.
L'impacchettamento in EXE è adatto a utilità desktop, applicazioni grafiche, strumenti interni e programmi di installazione. Un EXE è normalmente specifico per Windows; crearne uno non produce un'applicazione macOS, Linux, Android o web.
Come creare un EXE con PyInstaller
- Utilizza una macchina di sviluppo Windows con la versione e l'architettura di Python richieste dall'applicazione. Se possibile, crea e attiva un ambiente virtuale, quindi installa le dipendenze dell'applicazione e PyInstaller:
python -m pip install -r requirements.txt
python -m pip install pyinstaller
- Apri un terminale nella directory del progetto contenente lo script di avvio:
cd C:\path\to\project
- Crea un'applicazione console come file singolo:
pyinstaller --onefile app.py
L'eseguibile viene normalmente creato come dist\app.exe. Senza --onefile, PyInstaller crea una distribuzione in una directory contenente l'EXE e le relative dipendenze. La forma in directory normalmente si avvia più velocemente ed è più facile da diagnosticare; la forma a file singolo è più semplice da copiare, ma estrae i componenti inclusi in una directory temporanea all'avvio.
- Per un'applicazione grafica che non deve aprire una finestra della console, imposta un nome e un'icona facoltativa:
pyinstaller --onefile --windowed --name MyProgram --icon app.ico app.py
Utilizza la build console durante la diagnosi degli errori. --windowed nasconde la console, quindi i messaggi stampati dal programma non sono più visibili in un terminale.
- Testa
dist\MyProgram.exesu un computer Windows pulito o su una macchina virtuale. Un computer di sviluppo potrebbe nascondere file mancanti perché dispone già di pacchetti Python, variabili d'ambiente o directory del progetto installati.
Includere file e import dinamici
PyInstaller rileva molti import ordinari, ma i moduli caricati dinamicamente, i template, le immagini, i file di configurazione, i plugin e altre risorse potrebbero richiedere opzioni esplicite. In Windows, aggiungi una directory di risorse con:
pyinstaller --onefile --add-data "assets;assets" app.py
Il punto e virgola separa il percorso di origine dal percorso di destinazione in Windows; utilizza i due punti durante la build su macOS o Linux. Aggiungi un modulo che l'analisi automatica non ha rilevato con --hidden-import package_name. Per build ripetibili, esamina il file app.spec generato, modifica le relative impostazioni dei dati e degli hidden import, quindi eseguilo con pyinstaller app.spec.
Strumenti grafici e alternativi
auto-py-to-exe è un front-end grafico per PyInstaller. Installalo e avvialo con:
python -m pip install auto-py-to-exe
auto-py-to-exe
Seleziona lo script, scegli Onefile o One Directory, seleziona Console Based o Window Based, aggiungi i file di dati e un'icona, quindi utilizza Convert .py to .exe. L'interfaccia genera un comando PyInstaller che può essere conservato in uno script di build.
cx_Freeze è un'altra opzione di impacchettamento locale. Installalo con python -m pip install cx-Freeze e configura lo script di avvio, i pacchetti inclusi, i file e il tipo di base nella relativa configurazione di build documentata. Generalmente produce una distribuzione in una directory invece dello stesso flusso di lavoro a file singolo comunemente utilizzato con PyInstaller.
I convertitori basati su browser non sono adatti alla maggior parte dei file PY: richiedono il caricamento del codice sorgente, non possono riprodurre in modo affidabile l'ambiente virtuale o le dipendenze native di un progetto e potrebbero esporre credenziali o logica proprietaria. Utilizza PyInstaller, auto-py-to-exe o cx_Freeze localmente per progetti privati o con molte dipendenze, anziché un servizio online non verificato.
Limitazioni di compatibilità e sicurezza
L'impacchettamento non è una conversione del codice sorgente né una compilazione in codice nativo universalmente portabile. PyInstaller include bytecode Python, l'interprete, librerie native e file dell'applicazione in un EXE o in una directory di distribuzione adiacente. Il bytecode incluso può spesso essere estratto o ispezionato, quindi un EXE non costituisce una protezione affidabile del codice sorgente.
Crea una build separata per ogni sistema operativo di destinazione: un EXE Windows non viene eseguito nativamente su macOS o Linux. Crea la build per un'architettura Windows compatibile e installa le dipendenze compilate per la stessa versione e architettura di Python prima dell'impacchettamento. Una build a 64 bit generalmente non può essere eseguita su Windows a 32 bit.
Le applicazioni a file singolo possono avviarsi più lentamente perché si scompattano all'avvio e potrebbero generare falsi positivi da parte degli antivirus. La firma del codice con un certificato attendibile può ridurre gli avvisi di sicurezza di Windows, ma non può garantire l'accettazione da parte degli antivirus. Includi una licenza e gli avvisi relativi alle dipendenze quando richiesto dai pacchetti inclusi nell'applicazione.
Confronto formato: PY vs EXE
Come i formati PY e EXE si confrontano sulle proprietà più importanti per questa conversione.
| Proprietà | .PY Python source file | .EXE Portable Executable |
|---|---|---|
| Standard aperto | Sì | No |
| Compressione | Non compresso | Non compresso |
| Dimensione tipica del file | Piccolo | Grande |
| Si apre in un browser web | No | No |
| Modifica successiva | Facile | Non modificabile direttamente |
| Supporto metadata | Nessuno | Estesa |
| Leggibile come testo semplice | Sì | No |
| Ideale per | Editing e post-produzione | Incorporamento nelle applicazioni |
| Introdotto | 1991 | 1993 |
| Sviluppatore | Python Software Foundation | Microsoft |
| Tipo MIME | text/x-python | — |
Le informazioni su estensioni e tipi di file sono fornite da File-Extensions.org