Os ambientes virtuais Python são usados para criar ambientes python isolados para evitar conflitos de dependência e versão e também cuidar indiretamente de problemas de permissão. Mas qual é a maneira mais fácil de configurá-lo e usá-lo no Ubuntu?
Os ambientes virtuais Python são usados para criar ambientes python isolados para evitar conflitos de dependência e versão e também cuidar indiretamente de problemas de permissão. Mas qual é a maneira mais fácil de configurá-lo e usá-lo no Ubuntu?
Respostas:
virtualenvwrapper
(wrappers amigáveis para a funcionalidade de virtualenv
)Instale virtualenv
com
sudo apt-get install virtualenv
(para instalação do Ubuntu 14.04 (confiável) python-virtualenv
)
O motivo pelo qual também instalamos o virtualenvwrapper é porque ele oferece comandos simples e agradáveis para gerenciar seus ambientes virtuais. Existem duas maneiras de instalar virtualenvwrapper
:
Corre
sudo apt install virtualenvwrapper
então corra
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
Instalar e / ou atualizar pip
Instale o pip para Python 2 com
sudo apt-get install python-pip
ou para Python 3
sudo apt-get install python3-pip
(se você usa o Python 3, pode ser necessário usá-lo em pip3
vez do pip
restante deste guia).
Opcional (mas recomendado): ative o preenchimento automático do bash para pip
Corre
pip completion --bash >> ~/.bashrc
e execute source ~/.bashrc
para ativar.
Instalar virtualenvwrapper
Como queremos evitar asudo pip
instalação virtualenvwrapper
local (por padrão em ~/.local
) com:
pip install --user virtualenvwrapper
e
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
Origem virtualenvwrapper em .bashrc
echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc
Primeiro exportamos a WORKON_HOME
variável que contém o diretório em que nossos ambientes virtuais devem ser armazenados. Vamos fazer isso~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
agora também crie este diretório
mkdir $WORKON_HOME
e colocar essa exportação em nosso ~/.bashrc
arquivo para que essa variável seja definida automaticamente
echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc
Também podemos adicionar alguns truques extras, como os seguintes, que garantem que, se pip
criar um ambiente virtual extra, ele também será colocado em nosso WORKON_HOME
diretório:
echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc
Fonte ~ / .bashrc para carregar as alterações
source ~/.bashrc
Teste se funciona
Agora criamos nosso primeiro ambiente virtual. O -p
argumento é opcional, é 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 inclui 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 não usa os pacotes de sites do sistema.
Você pode desativar seu ambiente executando
deactivate
e se você quiser trabalhar novamente, basta digitar
workon test
Por fim, se você deseja excluir seu ambiente, digite
rmvirtualenv test
Desfrutar!
Obrigado ao autor deste post do blog .
--no-site-packages
é padrão e está --distribute
obsoleto
mkvirtualenv test
não funcionar, veja também: stackoverflow.com/questions/15608236/...
Os ambientes virtuais oferecem uma maneira de gerenciar e isolar dependências por projeto. Além disso, eles também evitam toda a sudo pip install
situação, o que é um risco de segurança, como expliquei em https://askubuntu.com/a/802594/15003 . 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 ative-o. Observe que o virtualenv é específico para uma versão específica do Python. Após a ativação, use pip
para instalar pacotes Python como de costume, independentemente de você estar usando Python 2 ou 3; não é necessário usar o pip3
Python 3. sudo
é usado apenas para instalar virtualenv
e não é usado com pip
, evitando o risco de segurança acima mencionado. 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ê deseja criar um virtualenv para Python 3, substitua virtualenv venv
por:
virtualenv venv -p python3
Leia mais sobre vários sinos e assobios virtualenv
em https://virtualenv.pypa.io/en/stable/ .
source
salva-me um monte de comandos
É fácil, você instala o python-virtualenv . Em seguida, você pode criar um virtualenv com o virtualenv
comando Veja a documentação deles para mais.
Os ambientes virtuais (venvs) são tão populares que a funcionalidade agora está incluída no próprio python (a partir do 3.3). Para usá-lo no Ubuntu, você precisa instalar python3-venv
(já que o ensurepip
módulo 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
EDIT:
O pyvenv
script foi preterido em favor de python3 -m venv
. Isso evita confusão sobre a qual intérprete Python pyvenv
está conectado e, portanto, qual interpretador Python será usado pelo ambiente virtual. ( fonte )
python-pip
epython-virtualenv
são instaláveis através do repositório Ubuntu, sem necessidade de instalação manual.