Utilice una versión diferente de Python con virtualenv

Resuelto Ulf asked hace 14 años • 42 respuestas

¿Cómo creo un entorno virtual para una versión específica de Python?

Ulf avatar Oct 08 '09 04:10 Ulf
Aceptado

NOTA: Para Python 3.3+ , consulte la respuesta de Aelfinn a continuación.


Utilice la opción --python(o short -p) al crear una instancia de virtualenv para especificar el ejecutable de Python que desea utilizar, por ejemplo:

virtualenv --python="/usr/bin/python2.6" "/path/to/new/virtualenv/"
Daniel Roseman avatar Oct 07 '2009 21:10 Daniel Roseman

Desde Python 3.3, la documentación sugiere crear el entorno virtual usando stdlib:

python3 -m venv "my_env_name"

Además, si queremos una versión particular de Python, digamos 3.6, entonces podemos usar

python3.6 -m venv "my_env_name"

Asegúrese de instalar la versión de Python a la que se hace referencia junto con su sistema Python existente.

The Aelfinn avatar Sep 26 '2016 22:09 The Aelfinn

Estos son los pasos que puede seguir cuando se encuentra en un entorno de alojamiento compartido y necesita instalar y compilar Python desde el código fuente y luego crear venvdesde su versión de Python. Para Python 2.7.9. harías algo como esto:

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install

entorno virtual

cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate   

Naturalmente, esto puede aplicarse a cualquier situación en la que desee replicar el entorno exacto en el que trabaja e implementa.

zzart avatar Jul 02 '2012 22:07 zzart

Hay una manera más fácil,

virtualenv venv --python=python2.7

Gracias a un comentario, esto solo funciona si tiene python2.7 instalado a nivel del sistema (por ejemplo, /usr/bin/python2.7).

De lo contrario, si estás usando homebrew puedes usar la ruta para obtener lo que deseas.

virtualenv venv --python=/usr/local/bin/python

Puede encontrar la ruta a su instalación de Python con which python(Linux) o py -0p(Windows)

Esto también funcionará con Python 3.

which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3

Finalmente se condensa en:

virtualenv venv -p `which python`
virtualenv venv -p `which python3`
Daniel Lee avatar Nov 01 '2016 11:11 Daniel Lee