Trasferimento di un progetto in un ambiente virtuale in Python
Spesso si presentano situazioni in cui è necessario trasferire un progetto sorgente in una nuova cartella, ad esempio, su un nuovo server. Scopriamo come farlo con un ambiente virtuale in Python.
Per prima cosa, creiamo una nuova cartella new_project_ven,
in cui trasferiremo il progetto da project_ven:
- /project_venv/
- ...
- /project1/
- main.py
- /new_project_venv/
Successivamente, copiamo tutti i pacchetti installati
dall'ambiente virtuale project_ven.
Si fa utilizzando il seguente comando:
python -m pip freeze > req.txt
A sinistra della parola freeze viene messa
una parentesi angolare e il nome del file in cui
si troveranno le informazioni sui pacchetti. Il nostro file
si chiama req.txt, ma il suo nome
può essere qualsiasi. Dopo aver eseguito il comando
nella cartella del progetto apparirà un nuovo file:
- /project_venv/
- ...
- /project1/
- main.py
- req.txt
Poi bisogna copiare la cartella project1,
che contiene già due file: main.py
e req.txt. Successivamente, la incolliamo
nella cartella new_project_venv:
- /project_venv/
- ...
- /project1/
- main.py
- req.txt
- /new_project_venv/
- /project1/
- main.py
- req.txt
- /project1/
Ora usciamo dall'attuale ambiente virtuale:
deactivate
Poi, nel terminale, bisogna spostarsi nella cartella
new_project_venv/project1. Dopo
di che, si dovrebbe creare un nuovo ambiente virtuale
per il nuovo progetto:
python -m venv ..
Successivamente, attiviamo il nostro nuovo ambiente:
..\Scripts\activate # per Windows
source ../bin/activate # per Linux
Dopo di che, nel terminale vedrete il nome del nuovo ambiente virtuale:
(new_project_venv)
Ora bisogna ripristinare i pacchetti dal progetto originale. Per fare questo, usiamo il seguente comando:
pip install -r req.txt
Dopo l'installazione riuscita delle librerie, verrà visualizzato il seguente messaggio:
Successfully installed numpy-1.26.4
Trasferite il progetto che avete creato in un nuovo ambiente virtuale.
Ripristinate nel nuovo progetto tutte le librerie dalla cartella originale. Verificate il funzionamento delle librerie installate.