![]() |
Quando si programma in Python è normale dover installare librerie esterne usando pip.
Prima o poi però sorge una domanda fondamentale:
Cosa succede quando porto il mio programma Python su un altro PC?
In questo articolo vedremo:
- cosa accade realmente
- perché il programma può smettere di funzionare
- dove eseguire i comandi (
pip,venv, ecc.) - le soluzioni corrette in base al tipo di progetto
🔍 Il problema di base
Le librerie installate con pip:
- non fanno parte del codice
- vengono installate nell’ambiente Python del computer
Se copi solo i file .py su un altro PC, il programma:
- partirà solo se tutte le librerie richieste sono già installate
- altrimenti darà errori come:
ModuleNotFoundError: No module named 'nome_libreria'
🗂 Struttura tipica di un progetto Python
Esempio:
mio_progetto/
│
├── main.py
├── utils.py
├── requirements.txt
└── venv/ (opzionale)
📌 Tutti i comandi che vedremo vanno lanciati nella cartella del progetto, cioè mio_progetto/, salvo diversa indicazione.
✅ Soluzione 1: requirements.txt (metodo standard)
È il metodo più comune per condividere un progetto Python.
📍 Dove lanciare i comandi
👉 Nella cartella del progetto
cd percorso/mio_progetto
🔹 Creare requirements.txt
Sul PC di sviluppo:
pip freeze > requirements.txt
Questo file conterrà l’elenco completo delle librerie usate, ad esempio:
requests==2.31.0
numpy==1.26.2
pandas==2.1.3
📌 Il file requirements.txt va copiato insieme al progetto.
🔹 Installare le librerie su un nuovo PC
Dopo aver copiato il progetto:
cd percorso/mio_progetto
pip install -r requirements.txt
📌 È fondamentale essere nella stessa cartella in cui si trova requirements.txt.
✔ Pro e ❌ Contro
✔ Pro
- semplice
- standard
- usato ovunque
❌ Contro
- serve Python installato
- serve usare il terminale
🧪 Soluzione 2: Ambiente virtuale (venv)
Un ambiente virtuale isola le librerie di un progetto da quelle di sistema.
🔹 Creare l’ambiente virtuale
📍 Nella cartella del progetto
cd mio_progetto
python -m venv venv
Risultato:
mio_progetto/
├── venv/
├── main.py
└── requirements.txt
🔹 Attivare l’ambiente virtuale
Windows
venv\Scripts\activate
Linux / macOS
source venv/bin/activate
📌 Dopo l’attivazione, tutti i pip install agiranno solo dentro il progetto.
🔹 Installare le librerie
pip install -r requirements.txt
✔ Pro e ❌ Contro
✔ Pro
- niente conflitti tra progetti
- metodo professionale
❌ Contro
- richiede un minimo di esperienza
- non ideale per utenti finali
🚀 Soluzione 3: Creare un eseguibile (PyInstaller)
Questa è la soluzione ideale se:
- vuoi distribuire il programma a utenti non tecnici
- non vuoi far installare Python o librerie
🔹 Installare PyInstaller
📍 Ovunque, ma consigliato dentro il progetto o nel venv:
pip install pyinstaller
🔹 Creare l’eseguibile
📍 Nella cartella del progetto
pyinstaller --onefile main.py
Risultato:
dist/
└── main.exe
📌 L’eseguibile:
- contiene Python
- contiene tutte le librerie
- funziona anche su PC senza Python
⚠ Nota importante
- L’eseguibile va creato su ogni sistema operativo
- Un
.exeWindows non funziona su macOS o Linux
🧠 Riepilogo finale
| Scenario | Soluzione | Dove lanciare i comandi |
|---|---|---|
| Condividere codice | requirements.txt |
cartella del progetto |
| Progetto strutturato | venv + requirements.txt |
cartella del progetto |
| Utenti finali | PyInstaller | cartella del progetto |
✅ Conclusione
Quando porti un programma Python su un altro PC:
- il codice da solo non basta
- le librerie vanno reinstallate o incluse
📌 La cartella del progetto è il punto di riferimento principale per quasi tutti i comandi.
Follow me #techelopment
Official site: www.techelopment.it
facebook: Techelopment
instagram: @techelopment
X: techelopment
Bluesky: @techelopment
telegram: @techelopment_channel
whatsapp: Techelopment
youtube: @techelopment
