=========================================================== VENV - AMBIENTI VIRTUALI (Virtual Environments in Python 3) =========================================================== AGGIORNAMENTO: In realta' la "cosa" e' molto piu' "snella" rispetto a quanto specificato in seguito. Basta creare l'ambiente virtuale in una qualsiasi cartella e poi, per poterlo utilizzare, spostarsi con il terminale all'interno della cartella dell'applicazione. INTRODUZIONE =============================== Un ambiente virtuale e' uno strumento per mantenere le dipendenze richieste da diversi progetti in luoghi separati, creando per loro ambienti virtuali Python. Gli ambienti virtuali consentono di: - Gestire le dipendenze senza richiedere l'accesso come root - Installare diverse versioni della stessa dipendenza - Lavorare con diverse versioni di Python NOTA =============================== Se diamo il comando "pip list" o "pip freeze" otteniamo in output i moduli python installati nel sistema. Il comando "pip list" e' deprecato. E' possibile invece usare il comando con 4 opzioni possibili: pip list --format legacy pip list --format columns pip list --format freeze pip list --format json INSTALLAZIONE VENV =============================== apt-get install python3-venv GESTIONE DELL'AMBIENTE VIRTUALE =============================== 1) ---------------------------------- Creare la cartella del progetto mkdir NOME_CARTELLA Non e' necessario che venga creata la cartella del progetto. L'ambiente virtuale puo' essere creato in qualsiasi cartella. 2) ---------------------------------- All'interno della cartella digitare: python3 -m venv NOME_AMBIENTE Verra' creata la cartella NOME_AMBIENTE 3) ---------------------------------- Entrare nella cartella NOME_AMBIENTE e attivare l'ambiante virtuale (il file per l'attivazione si trova all'interno della cartella "/bin", su windows la cartella e' "scripts"). Comando di attivazione: ".bin/activate" oppure "source bin/activate" Per me ha funzinato il secondo. (Attenzione ai permessi) L'informazione relativa al fatto che stiamo usando un ambiente virtuale e' data dal nome dell'ambiente tra parentesi tonde prima del prompt, es: (ENV_prg01) vito@HP:~/...../prg01/ENV_prg01$ Digitando "pip list" dovremmo vedere solo i moduli di base. I miei sono: pip (9.0.1) pkg-resources (0.0.0) setuptools (39.0.1) Digitando "pip freeze", ottengo l'output dei pacchetti installati con la versione richiesta. I miei sono: pkg-resources==0.0.0 4) ---------------------------------- Adesso, nell'ambiente virtuale, si puo' installare tutto quello che si vuole senza intaccare l'ambiente principale 5) ---------------------------------- Il comando "pip freeze" permette di costuire il file "requirements.txt": pip freeze > requirements.txt nel quale, per convenzione, vengono salvati i moduli utilizzati. 6) ---------------------------------- Per tornare all'ambiente principale digitare: deactivate 7) ---------------------------------- In futuro, anche dopo avere eliminato la cartella dell'ambiente virtuale, utilizzando il file "requirements.txt" opportunamente salvato, si puo' riconfigurare un nuovo ambiente virtuale con gli stessi moduli con il comando: pip install -r requirements.txt GESTIONE DELL'AMBIENTE VIRTUALE su Windows ========================================== Fare riferinmento a: https://timmyreilly.azurewebsites.net/python-pip-virtualenv-installation-on-windows/