Come configurare e utilizzare un ambiente python virtuale in Ubuntu?

66

Gli ambienti virtuali Python vengono utilizzati per creare ambienti python isolati per evitare conflitti di dipendenza e di versione e anche indirettamente occuparsi dei problemi di autorizzazione. Ma qual è il modo più semplice per configurarlo e usarlo in Ubuntu?

    
posta Gerhard Burger 18.01.2013 - 15:23

4 risposte

93

Con virtualenvwrapper (wrapper user friendly per la funzionalità di virtualenv )

Installa virtualenv

Installa virtualenv con

sudo apt-get install virtualenv

(per Ubuntu 14.04 (affidabile) installa python-virtualenv )

Installa virtualenvwrapper

Il motivo per cui stiamo installando virtualenvwrapper è perché offre comandi semplici e semplici per gestire i tuoi ambienti virtuali. Esistono due modi per installare virtualenvwrapper :

Come pacchetto di Ubuntu (da Ubuntu 16.04)

Esegui

sudo apt install virtualenvwrapper

quindi esegui

echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc

Utilizzo di pip

  1. Installa e / o aggiorna pip

    Installa pip per Python 2 con

    sudo apt-get install python-pip
    

    o per Python 3

    sudo apt-get install python3-pip
    

    (se usi Python 3, potresti aver bisogno di usare pip3 invece di pip nel resto di questa guida).

    Facoltativo (ma consigliato): attiva il completamento automatico bash per pip

    Esegui

    pip completion --bash >> ~/.bashrc
    

    ed esegui source ~/.bashrc per abilitare.

  2. Installa virtualenvwrapper

    Poiché vogliamo evitare sudo pip installiamo virtualenvwrapper localmente (per impostazione predefinita sotto ~/.local ) con :

    pip install --user virtualenvwrapper
    

    e

    echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
    
  3. Source virtualenvwrapper in .bashrc

    echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc
    

Impostazione virtualenv e virtualenvwrapper:

Per prima cosa esportiamo la variabile WORKON_HOME che contiene la directory in cui devono essere memorizzati i nostri ambienti virtuali. Facciamo questo ~/.virtualenvs

export WORKON_HOME=~/.virtualenvs

ora crea anche questa directory

mkdir $WORKON_HOME

e inserisci questa esportazione nel nostro file ~/.bashrc in modo che questa variabile venga automaticamente definita

echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc

Possiamo anche aggiungere alcuni trucchi extra come i seguenti, che assicurano che se pip crea un ambiente virtuale extra, è anche inserito nella nostra directory WORKON_HOME :

echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc 

Origine ~ / .bashrc per caricare le modifiche

source ~/.bashrc

Verifica se funziona

Ora creiamo il nostro primo ambiente virtuale. L'argomento -p è facoltativo, è usato per impostare la versione di Python da usare; può anche essere python3 per esempio.

mkvirtualenv -p python2.7 test

Vedrai che l'ambiente verrà impostato e il tuo prompt ora include il nome del tuo ambiente attivo tra parentesi. Inoltre, se ora esegui

python -c "import sys; print sys.path"

dovresti vedere un sacco di /home/user/.virtualenv/... perché ora non usa i pacchetti del tuo sito di sistema.

Puoi disattivare il tuo ambiente eseguendo

deactivate

e se vuoi lavorarci di nuovo, digita semplicemente

workon test

Infine, se vuoi eliminare il tuo ambiente, digita

rmvirtualenv test

Buon divertimento!

Grazie all'autore di questo blogpost.

    
risposta data Gerhard Burger 18.01.2013 - 15:23
8

Gli ambienti virtuali offrono un modo per gestire e isolare le dipendenze in base al progetto. Inoltre, evitano anche l'intera situazione di sudo pip install , che è un rischio per la sicurezza come ho spiegato nel link . Anche la documentazione ufficiale di Python incoraggia l'uso di ambienti virtuali .

Il modo più semplice per creare e utilizzare ambienti virtuali sia per Python 2 sia per Python 3 è di installare virtualenv usando apt o apt-get . Per ogni progetto Python, crea un virtualenv e quindi attivalo. Si noti che virtualenv è specifico per una particolare versione di Python. Dopo l'attivazione, usa pip per installare i pacchetti Python come al solito, indipendentemente dal fatto che tu stia usando Python 2 o 3; non è necessario utilizzare pip3 per Python 3. sudo viene utilizzato solo per installare virtualenv e non viene utilizzato con pip , evitando pertanto il suddetto rischio di sicurezza. I comandi per farlo sono:

sudo apt update
sudo apt install virtualenv
cd ~/desired_directory  # cd to desired_directory
virtualenv venv  # create virtualenv named venv for default system Python, which is Python 2 for Ubuntu
source venv/bin/activate  # activate virtualenv
pip install -U pip  # upgrade pip in case it is outdated
pip install desired_package  # install desired_package

Se vuoi creare un virtualenv per Python 3, sostituisci virtualenv venv con:

virtualenv venv -p python3

Ulteriori informazioni su varie campane e fischietti per virtualenv su link .

    
risposta data edwinksl 13.06.2016 - 23:57
4

È facile, si installa python-virtualenv . Quindi puoi creare un virtualenv con il comando virtualenv . Vedi la loro documentazione per ulteriori informazioni.

    
risposta data tumbleweed 18.01.2013 - 21:11
3

Con il modulo venv disponibile da Python 3.3 (e Ubuntu 15.10)

Gli ambienti virtuali (venvs) sono così popolari che la funzionalità è ora inclusa in Python stesso (dalla versione 3.3 in poi). Per usarlo su Ubuntu devi installare python3-venv (poiché il modulo ensurepip non è disponibile):

sudo apt-get install python3-venv

Dopo puoi usare

pyvenv myvirtualenv

per creare un ambiente virtuale chiamato myvirtualenv . Puoi quindi utilizzare

source myvirtualenv/bin/activate

per attivare l'ambiente virtuale. Per disattivare semplicemente digitare

deactivate

Modifica Lo script pyvenv è stato deprecato a favore di python3 -m venv . Ciò impedisce la confusione su quale sia l'interprete Python pyvenv collegato e quindi quale interprete Python verrà utilizzato dall'ambiente virtuale. ( fonte )

    
risposta data Gerhard Burger 20.06.2016 - 20:21

Leggi altre domande sui tag