Como configurar e usar um ambiente virtual python no Ubuntu?

63

Os ambientes virtuais Python são usados para criar ambientes Python isolados para evitar conflitos de dependência e versão e também indiretamente cuidar de problemas de permissão. Mas qual é a maneira mais fácil de configurá-lo e usá-lo no Ubuntu?

    
por Gerhard Burger 18.01.2013 / 15:23

4 respostas

91

Com virtualenvwrapper (wrappers amigáveis para a funcionalidade de virtualenv )

Instalar o virtualenv

Instale virtualenv com

sudo apt-get install virtualenv

(para o Ubuntu 14.04 (confiável) instale python-virtualenv )

Instalar virtualenvwrapper

O motivo pelo qual também estamos instalando virtualenvwrapper é porque ele oferece comandos simples e agradáveis para gerenciar seus ambientes virtuais. Existem duas maneiras de instalar virtualenvwrapper :

Como pacote Ubuntu (do Ubuntu 16.04)

Executar

sudo apt install virtualenvwrapper

execute

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

Usando pip

  1. Instalar e / ou atualizar pip

    Instale o pip para o Python 2 com

    sudo apt-get install python-pip
    

    ou para o Python 3

    sudo apt-get install python3-pip
    

    (se você usar o Python 3, talvez seja necessário usar pip3 em vez de pip no restante deste guia).

    Opcional (mas recomendado): Ativar autocompletar bash para pip

    Executar

    pip completion --bash >> ~/.bashrc
    

    e execute source ~/.bashrc para ativar.

  2. Instale o virtualenvwrapper

    Como queremos evitar sudo pip , instalamos virtualenvwrapper localmente (por padrão, em ~/.local ) com :

    pip install --user virtualenvwrapper
    

    e

    echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
    
  3. Virtualenvwrapper de origem em .bashrc

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

Configuração virtualenv e virtualenvwrapper:

Primeiramente, exportamos a variável WORKON_HOME que contém o diretório no qual nossos ambientes virtuais serão armazenados. Vamos fazer isso ~/.virtualenvs

export WORKON_HOME=~/.virtualenvs

agora também crie este diretório

mkdir $WORKON_HOME

e coloque essa exportação em nosso arquivo ~/.bashrc para que essa variável seja definida automaticamente

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

Também podemos adicionar alguns truques extras da seguinte forma, garantindo que pip cria um ambiente virtual extra, ele também é colocado em nosso diretório WORKON_HOME :

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

Origem ~ / .bashrc para carregar as alterações

source ~/.bashrc

Teste se funciona

Agora, criamos nosso primeiro ambiente virtual. O argumento -p é opcional e é usado para definir a versão do Python a ser usada; também pode ser python3 , por exemplo.

mkvirtualenv -p python2.7 test

Você verá que o ambiente será configurado e seu prompt agora incluirá o nome do seu ambiente ativo entre parênteses. Além disso, se você agora executar

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

você deve ver muito /home/user/.virtualenv/... porque agora ele não usa os pacotes de site do sistema.

Você pode desativar seu ambiente executando

deactivate

e se você quiser trabalhar nele novamente, simplesmente digite

workon test

Finalmente, se você quiser excluir seu ambiente, digite

rmvirtualenv test

Aproveite!

Obrigado ao autor do este postagem do blog .

    
por Gerhard Burger 18.01.2013 / 15:23
8

Ambientes virtuais oferecem uma maneira de gerenciar e isolar dependências por projeto. Além disso, eles também evitam toda a situação sudo pip install , que é um risco de segurança, como expliquei no link . A documentação oficial do Python também incentiva o uso de ambientes virtuais .

A maneira mais fácil de criar e usar ambientes virtuais para o Python 2 e o Python 3 é instalar virtualenv usando apt ou apt-get . Para cada projeto Python, crie um virtualenv e, em seguida, ative-o. Note que o virtualenv é específico para uma versão particular do Python. Após a ativação, use pip para instalar os pacotes do Python como de costume, independentemente de você estar usando o Python 2 ou 3; não há necessidade de usar pip3 para Python 3. sudo é usado apenas para instalar virtualenv e não é usado com pip , evitando assim o risco de segurança mencionado anteriormente. Os comandos para fazer isso são:

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 você quiser criar um virtualenv para o Python 3, substitua virtualenv venv por:

virtualenv venv -p python3

Leia mais sobre vários sinos e assobios para virtualenv no link .

    
por edwinksl 13.06.2016 / 23:57
4

É fácil, você instala python-virtualenv . Então você pode criar um virtualenv com o comando virtualenv . Veja sua documentação para mais.

    
por tumbleweed 18.01.2013 / 21:11
2

Com o módulo venv disponível no Python 3.3 (e no Ubuntu 15.10)

Ambientes virtuais (venvs) são tão populares que a funcionalidade está agora incluída no próprio python (a partir de 3.3). Para usá-lo no Ubuntu você precisa instalar o python3-venv (já que o módulo ensurepip não está disponível):

sudo apt-get install python3-venv

Depois disso, você pode usar

pyvenv myvirtualenv

para criar um ambiente virtual chamado myvirtualenv . Você pode então usar

source myvirtualenv/bin/activate

para ativar o ambiente virtual. Para desativar, basta digitar

deactivate

EDITAR: O script pyvenv foi reprovado em favor de python3 -m venv . Isso evita confusão em relação ao que o intérprete do Python pyvenv está conectado e, portanto, qual interpretador Python será usado pelo ambiente virtual. ( fonte )

    
por Gerhard Burger 20.06.2016 / 20:21