Questi requisiti e casi d'uso possono essere un dolore da gestire quando diverse applicazioni richiedono versioni diverse della stessa libreria. Per fortuna, Python fornisce una soluzione solida per isolare gli ambienti di sviluppo utilizzando ambienti virtuali.
Un ambiente virtuale Python è un albero di directory autonomo che contiene una specifica installazione di Python insieme a tutte le sue librerie standard. Le applicazioni che richiedono una versione particolare della libreria possono essere isolate in questi ambienti virtuali senza inquinare il sistema o altre implementazioni di Python. Ogni ambiente virtuale è un sandbox separato, quindi puoi creare tutti gli ambienti virtuali che desideri.
Creare e gestire ambienti virtuali
Per creare ambienti virtuali in Ubuntu, installare prima il pacchetto di dipendenza richiesto eseguendo il comando:
$ sudo apt install python3-veOra puoi creare ambienti virtuali eseguendo il comando:
$ python3 -m venv myenvL'esecuzione del comando sopra creerà un ambiente virtuale chiamato "Myenv" nella tua home directory. Se si desidera utilizzare qualsiasi altra versione di Python, puoi sostituire "Python3" sopra con il percorso completo della posizione della tua alternativa Python Binaria.
Per attivare l'ambiente personalizzato creato sopra, eseguire il comando:
$ source myenv/bin/attivaUna volta attivato l'ambiente virtuale, il prompt di shell cambierà per riflettere l'attuale ambiente virtuale che si sta utilizzando. Se corri “sys.Comando percorso ”all'interno dell'interprete di Python, puoi vedere che l'ambiente virtuale funziona correttamente. Python ora cercherà pacchetti all'interno dell'ambiente personalizzato che hai appena creato.
Se il prompt della shell non mostra il nome dell'ambiente virtuale come prefisso, qualsiasi file Python che eseguirà invece utilizzerà System Python. Quindi è necessario procurarsi un ambiente virtuale prima di eseguire un file nel tuo ambiente personalizzato.
È possibile disattivare un ambiente virtuale eseguendo il comando:
$ deactivateOgni ambiente virtuale di Python include un "Pyvenv.File CFG "con un tasto" Include-System-Site Packages "che è impostato su" False "per impostazione predefinita. Questa chiave indica l'ambiente virtuale se utilizzare i pacchetti di siti di sistema o no. Se impostato su "True", Python in Virtual Environment esaminerà i pacchetti di sistema nel caso in cui un pacchetto non venga trovato nell'ambiente virtuale. Renderà inoltre tutti i pacchetti installati di sistema importabili all'interno dell'ambiente virtuale.
Per eliminare un ambiente virtuale, devi solo eliminare la directory dell'ambiente virtuale e sparirà.
È possibile creare e archiviare VirtualEnv su unità USB esterna. Dovrai essere formattato dall'unità USB in NTFS o File System. Il file system FAT32 non supporta Symlinks, che è un requisito per gli ambienti virtuali per funzionare.
Utilizzo del gestore pacchetti PIP per installare i pacchetti all'interno dell'ambiente virtuale
All'interno di un ambiente virtuale, è possibile utilizzare i pacchetti di pacchetti PIP per installare, aggiornare e disinstallare i pacchetti. È possibile eseguire il downgrade o aggiornare un pacchetto specificando un particolare numero di versione.
È possibile installare un pacchetto utilizzando PIP eseguendo il comando (sostituire Pygame con il nome del pacchetto desiderato):
$ pip Installa PygameUn repository ricercabile di pacchetti PIP può essere trovato qui.
Per disinstallare un pacchetto, utilizzare il comando:
$ PIP Disinstalla PygamePer vedere tutte le versioni di un pacchetto, eseguire il comando:
$ pip Installa Pygame ==Per eseguire il downgrade o aggiornare a una versione specifica, utilizzare il comando (sostituire “1.9.5 "con il numero di versione desiderato):
$ pip Installa Pygame == 1.9.5Per aggiornare un pacchetto alla versione più recente, eseguire il comando:
$ PIP Installa -Aggiorna PygamePer vedere tutti i pacchetti installati in ambiente virtuale, eseguire il comando:
$ PIP ElencoPer salvare un elenco di pacchetti installati all'interno di VirtualEnv, eseguire il comando:
$ PIP Freeze> Requisiti.TXTÈ possibile utilizzare i requisiti sopra ".File txt "per installare i pacchetti in blocco. Un caso d'uso è duplicare un ambiente esistente installando tutti i pacchetti da zero. Per installare i pacchetti PIP in blocco, eseguire il comando:
$ PIP Installa -R Requisiti.TXTUtilizzo di ambienti virtuali Python con applicazioni non Python
Le applicazioni scritte in altri linguaggi di programmazione possono essere sandbox in ambienti virtuali di Python fintanto che PIP o qualsiasi altro gestore di pacchetti Python fornisce binari e pacchetti per questi linguaggi di programmazione alternativi/framework.
Ecco un piccolo esempio che spiega l'installazione del nodo.JS in Python Virtual Environment. Esegui i seguenti comandi uno per uno:
$ python3 -m venv my_node_envUna volta fatto, avrai un nodo completamente isolato.ambiente JS. Puoi creare tutti gli ambienti virtuali che desideri per un nodo diverso.Applicazioni JS. I pacchetti installati tramite pacchetti NPM saranno limitati solo all'ambiente virtuale attivato.
La creazione di un ambiente virtuale Python è un modo eccellente per contenerere gli ambienti di sviluppo. Ogni ambiente virtuale ha il suo binario Python e il suo set indipendente di pacchetti. Lo sviluppo di più applicazioni Python sullo stesso sistema può inquinare rapidamente la tua directory di casa e radice e gli ambienti virtuali rendono così facile mantenerle.