¿Cómo configurar y usar un entorno python virtual en Ubuntu?

66

Los entornos virtuales de Python se utilizan para crear entornos Python aislados para evitar conflictos de versiones y versiones, y también se ocupan indirectamente de los problemas de permisos. Pero, ¿cuál es la forma más fácil de configurarlo y usarlo en Ubuntu?

    
pregunta Gerhard Burger 18.01.2013 - 14:23

4 respuestas

93

Con virtualenvwrapper (envoltorios fáciles de usar para la funcionalidad de virtualenv )

Instalar virtualenv

Instalar virtualenv con

sudo apt-get install virtualenv

(para Ubuntu 14.04 (fiel) instale python-virtualenv )

Instalar virtualenvwrapper

La razón por la que también estamos instalando virtualenvwrapper es porque ofrece comandos simples y agradables para administrar sus entornos virtuales. Hay dos formas de instalar virtualenvwrapper :

Como paquete de Ubuntu (desde Ubuntu 16.04)

Ejecutar

sudo apt install virtualenvwrapper

luego ejecuta

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

Usando pip

  1. Instalar y / o actualizar pip

    Instalar pip para Python 2 con

    sudo apt-get install python-pip
    

    o para Python 3

    sudo apt-get install python3-pip
    

    (si usa Python 3, puede necesitar usar pip3 en lugar de pip en el resto de esta guía).

    Opcional (pero recomendado): activa autocompletar bash para pip

    Ejecutar

    pip completion --bash >> ~/.bashrc
    

    y ejecute source ~/.bashrc para habilitar.

  2. Instalar virtualenvwrapper

    Como queremos evitar sudo pip instalamos virtualenvwrapper localmente (de forma predeterminada en ~/.local ) con :

    pip install --user virtualenvwrapper
    

    y

    echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
    
  3. Fuente virtualenvwrapper en .bashrc

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

Configuración virtualenv y virtualenvwrapper:

Primero exportamos la variable WORKON_HOME que contiene el directorio en el que se almacenarán nuestros entornos virtuales. Vamos a hacer esto ~/.virtualenvs

export WORKON_HOME=~/.virtualenvs

ahora también crea este directorio

mkdir $WORKON_HOME

y coloque esta exportación en nuestro archivo ~/.bashrc para que esta variable se defina automáticamente

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

También podemos agregar algunos trucos adicionales como los siguientes, lo que asegura que si pip crea un entorno virtual adicional, también se coloca en nuestro directorio WORKON_HOME :

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

Fuente ~ / .bashrc para cargar los cambios

source ~/.bashrc

Prueba si funciona

Ahora creamos nuestro primer entorno virtual. El argumento -p es opcional, se usa para configurar la versión de Python para usar; también puede ser python3 por ejemplo.

mkvirtualenv -p python2.7 test

Verá que el entorno estará configurado y su mensaje ahora incluye el nombre de su entorno activo entre paréntesis. Además, si ahora ejecuta

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

debería ver un montón de /home/user/.virtualenv/... porque ahora no usa los paquetes de sitio de su sistema.

Puedes desactivar tu entorno ejecutando

deactivate

y si quiere trabajar de nuevo, simplemente escriba

workon test

Finalmente, si desea eliminar su entorno, escriba

rmvirtualenv test

¡Disfrútalo!

Gracias al autor de esto blogpost .

    
respondido por el Gerhard Burger 18.01.2013 - 14:23
8

Los entornos virtuales ofrecen una forma de gestionar y aislar dependencias por proyecto. Además, también evitan toda la situación de sudo pip install , que es un riesgo para la seguridad, como expliqué en enlace . La documentación oficial de Python también fomenta el uso de entornos virtuales .

La forma más sencilla de crear y usar entornos virtuales para Python 2 y Python 3 es instalar virtualenv utilizando apt o apt-get . Para cada proyecto Python, crea un virtualenv y luego actívalo. Tenga en cuenta que el virtualenv es específico para una versión específica de Python. Después de la activación, use pip para instalar los paquetes de Python como siempre, independientemente de si está usando Python 2 o 3; no es necesario usar pip3 para Python 3. sudo solo se usa para instalar virtualenv y no se usa con pip , por lo tanto se evita el riesgo de seguridad antes mencionado. Los comandos para hacerlo son:

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

Si desea crear un virtualenv para Python 3, reemplace virtualenv venv con:

virtualenv venv -p python3

Obtenga más información sobre las diversas opciones para virtualenv en enlace .

    
respondido por el edwinksl 13.06.2016 - 21:57
4

Es fácil, instala python-virtualenv . Luego puede crear un virtualenv con el comando virtualenv . Consulte su documentación para obtener más información.

    
respondido por el tumbleweed 18.01.2013 - 20:11
3

Con el módulo venv disponible desde Python 3.3 (y Ubuntu 15.10)

Los entornos virtuales (venvs) son tan populares que ahora la funcionalidad se incluye en python (de 3.3 en adelante). Para usarlo en Ubuntu necesitas instalar python3-venv (ya que el módulo ensurepip no está disponible):

sudo apt-get install python3-venv

Después de eso puedes usar

pyvenv myvirtualenv

para crear un entorno virtual llamado myvirtualenv . Luego puede usar

source myvirtualenv/bin/activate

para activar el entorno virtual. Para desactivar simplemente escribe

deactivate

EDITAR: La secuencia de comandos pyvenv ha quedado en desuso en favor de python3 -m venv . Esto evita la confusión sobre a qué intérprete de Python pyvenv está conectado y, por lo tanto, qué intérprete de Python utilizará el entorno virtual. ( fuente )

    
respondido por el Gerhard Burger 20.06.2016 - 18:21

Lea otras preguntas en las etiquetas