Actualmente tengo un sistema Debian con Python 2.5.4. Tengo virtualenv correctamente instalado, todo funciona bien. ¿Existe la posibilidad de que pueda usar un virtualenv con una versión diferente de Python?
Compilé Python 2.6.2 y me gustaría usarlo con algo de virtualenv. ¿Es suficiente sobrescribir el archivo binario? ¿O tengo que cambiar algo con respecto a las bibliotecas?
Respuestas:
Simplemente use la opción
--python
(o abreviada-p
) al crear su instancia virtualenv para especificar el ejecutable de Python que desea usar, por ejemplo:Nota: para Python 3.3 o posterior, consulte la respuesta de The Aelfinn a continuación.
fuente
virtualenv -p `which python2.6` <path/to/new/virtualenv>
Desde Python 3, los documentos de Python sugieren crear el entorno virtual con el siguiente comando:
Tenga en cuenta que
venv
no permite crear entornos virtuales con otras versiones de Python. Para eso, instale y use elvirtualenv
paquete .Información obsoleta
El
pyvenv
script se puede usar para crear un entorno virtual.pero ha quedado en desuso desde Python 3.6.
fuente
python3 -m venv <envname>
para evitar la necesidad de scripts de código auxiliar para todo.pyvenv
script está en desuso en Python 3.6+, aunque elvenv
módulo subyacente en sí no. Asípython 3 -m venv <myenvname>
que úsalo como dice @PaulEveritt.pyvenv
opython3 -m venv ...
NO instale elpython-config
script. Esto significa que incluso después de activar su entorno Python3, se invocará todo el sistemapython-config
con consecuencias confusas. Vea este informe de error de 2011 github.com/pypa/virtualenv/issues/169 y mi pregunta stackoverflow.com/questions/42020937/…venv
no permite crear virtualenv con otras versiones de Python". - ¿Estás seguro de que esto es cierto? Parece que funciona bien para mí si lo creo con una versión específica de Python, por ejemplopython3.5 -m venv <myenvname>
(siempre que tenga esa versión de Python disponible).venv
con una versión específica de Python es usar esa versión al configurarla. Por ejemplo:python3.5 -m venv venv
Estos son los pasos que puede seguir cuando se encuentra en un entorno de alojamiento compartido y necesita instalar y compilar Python desde el origen y luego crear
venv
desde su versión de Python. Para Python 2.7.9. harías algo en este sentido:env virtual
Naturalmente, esto puede ser aplicable a cualquier situación en la que desee replicar el entorno exacto en el que trabaja e implementar.
fuente
~/.localpython/bin/virtualenv
lugar de solo lavirtualenv
configuración para completar sin errores. Además, use ensource ve/bin/activate
lugar desource activate
.fuente
-p
.python3.6
pero no quieres tocarpython3.5
instalado en tu computadora?Hay una manera más fácil,
Gracias a un comentario, esto solo funciona si tienes instalado python2.7 en el nivel del sistema (por ejemplo, /usr/bin/python2.7).
De lo contrario, si está utilizando homebrew, puede usar la ruta para obtener lo que desea.
Puede encontrar la ruta a su instalación de Python con
Esto también funcionará con Python 3.
Finalmente condensando a:
fuente
virtualenv venv --python=python3.6
asívirtualenv env --python=python2
virtualenv venv --python=<insert_your_python_version_here>
<insert_your_python_version_here>
C:\Python\Python368\python.exe
En Windows para mí esto funciona:
sin el
python.exe
que tengoWindowsError: [Error 5] Access is denied
tengo Python2.7.1 instalado con virtualenv 1.6.1, y quería python 2.5.2.fuente
Mac OSX 10.6.8 (Snow Leopard):
1) Cuando lo hace
pip install virtualenv
, el comando pip se asocia con una de sus versiones de python yvirtualenv
se instala en esa versión de python. Tu puedes hacerpara ver qué versión de python es esa. Si ves algo como:
entonces hazlo:
Puede ver la versión de Python en la salida.
De forma predeterminada, esa será la versión de Python que se utilizará para cualquier entorno nuevo que cree. Sin embargo, puede especificar cualquier versión de python instalada en su computadora para usar dentro de un nuevo entorno con
-p flag
:http://docs.python-guide.org/en/latest/dev/virtualenvs/
virtualenv
simplemente copia python desde una ubicación en su computadora al directorio my_env / bin / recién creado.2) El sistema Python está en funcionamiento
/usr/bin
, mientras que las diversas versiones de Python que instalé se instalaron de manera predeterminada en:3) Las varias pitones que instalé tienen nombres como
python2.7
opython3.2
, y puedo usar esos nombres en lugar de rutas completas.======== VIRTUALENVWRAPPER =========
1) Tuve algunos problemas para hacer que virtualenvwrapper funcionara. Esto es lo que terminé poniendo
~/.bash_profile
:2)
-p option
Funciona de manera diferente con virtualenvwrapper: tengo que especificar la ruta completa al intérprete de Python que se utilizará en el nuevo entorno (cuando no quiero usar la versión predeterminada de Python):A diferencia de virtualenv, virtualenvwrapper creará el entorno en la ubicación especificada por la variable de entorno $ WORKON_HOME. Eso mantiene todos sus entornos en un solo lugar.
fuente
which pip
no me dice la versión de Python. Me da esto/usr/local/bin/pip
./usr/local/bin
haces y lo haces$ ls -al pip
, deberías ver algo como:pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
mkproject
es el comando que se debe usar si desea crear tanto el directorio del proyecto como un entorno virtual de una versión de Python dada.mkproject -p /usr/bin/python3.6 myNewPython36Project
Estos dos comandos deberían funcionar bien.
virtualenv -p python2 myenv
(Para python2)virtualenv -p python3 myenv
(Para python3)fuente
Suponga que actualmente tiene python 2.7 instalado en su virtualenv. Pero si quieres utilizar
python3.2
, deberías actualizar esto con:Luego active su virtualenv :
y luego hazlo:
python --version
en shell para verificar si tu versión ahora está actualizada.fuente
-p
.Puedes llamar
virtualenv
con la versión de python que quieras. Por ejemplo:O bien, apunte directamente a su camino virtualenv. por ejemplo para ventanas:
Y corriendo:
puedes ver la versión de python instalada en un entorno virtual
fuente
pip3 install virtualenv
primeroEl
-p
enfoque funciona bien, pero debe recordar usarlo siempre. Si su objetivo es cambiar a una versión más nueva de Python en general, eso es un dolor y también puede conducir a errores.Su otra opción es establecer una variable de entorno que haga lo mismo que
-p
. Establezca esto a través de su~/.bashrc
archivo o donde sea que administre variables de entorno para sus sesiones de inicio de sesión:Luego
virtualenv
lo usará en cualquier momento que no especifique-p
en la línea de comando.fuente
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version
según los documentos virtualenvwrapper no funcionó pero esta solución funcionó?virtualenvwrapper
usa cuando se ejecuta, nada que ver con las instalaciones.Aún más fácil, usando la sustitución de comandos para encontrar python2 para usted:
virtualenv -p $(which python2) <path/to/new/virtualenv/>
O al usar virtualenvwrapper:
mkvirtualenv -p $(which python2) <env_name>
fuente
Para Mac (High Sierra), instale virtualenv en python3 y cree un virtualenv para python2:
fuente
python3 -m pip install virtualenv
En Mac utilizo pyenv y virtualenvwrapper. Tuve que crear un nuevo virtualenv. Necesitas homebrew, que supongo que has instalado si estás en una Mac, pero solo por diversión:
También congelé mis requisitos primero para poder simplemente reinstalar en el nuevo virtualenv con:
fuente
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
versiones, no versiones. Si SO permitiera ediciones cortas, lo arreglaría.pyenv
incluye soporte virtualenv a través delpyenv-virtualenv
complemento, por lo que creo que realmente no necesito virtualenvwrapper. Más detalles en mi respuesta pyenv .[Noviembre de 2019] Necesitaba instalar un entorno Python 3.7 (env) en mi sistema Arch Linux basado en Python 3.8. Python 3.7 ya no estaba en el sistema, por lo que no pude degradar Python para instalar un paquete que necesitaba.
Además, quería usar ese paquete / Python 3.7 dentro de un entorno virtual (venv). Así es como lo hice.
Descargue los archivos fuente de la versión Python:
Descargué los archivos fuente Python 3.7.4 de
a
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
Luego extraje ese archivo (archivos fuente) a
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
Instalación:
[Nota: en mi sistema env, no un venv.]
Examine las versiones de Python instaladas:
Cómo crear un venv para una versión específica de Python:
Cree Python 3.7 venv [en un entorno / sistema operativo Python 3.8]:
Añadido a
~/.bashrc
:Prueba Python 3.7 venv:
fuente
En el subsistema de Windows para Linux:
Crear entorno para python3:
Activalo:
fuente
En windows:
o
Esto utiliza el
py
iniciador que encontrará el ejecutable de Python adecuado para usted (suponiendo que lo tenga instalado).fuente
Sí , las respuestas anteriores son correctas y funcionan bien en sistemas basados en Unix como Linux y MAC OS X .
Intenté crear virtualenv para Python2 y Python3 con los siguientes comandos.
Aquí he usado venv2 y venv3 como sus nombres para Python2 y Python3 respectivamente.
fuente
Funciono para mi
fuente
Yo uso pyenv para administrar mi versión de Python.
Comprueba tu versión de Python:
Cree el entorno virtual con venv :
Luego active el entorno virtual:
Comprueba tu versión de Python:
Es posible que deba eliminar el entorno virtual anterior
fuente
Estos parecen un poco complicados para Windows. Si está en Windows con Python 3.3 o posterior, puede usar el iniciador de Python
py
para hacerlo mucho más fácilmente. Simplemente instale la versión diferente de Python, luego ejecute:Esto creará un entorno virtual llamado
env
en su directorio actual, usando python[my version]
. Como ejemplo:Esto crea un entorno virtual llamado
env
usando python3.7 y lo activa. No se requieren caminos u otras cosas complejas.fuente
py -3.7 -m venv env
en su lugar (-m
falta el)?Enlace para crear virtualenv
fuente
Para los sistemas Debian (debian 9) en 2019, descubrí una solución simple que puede resolver el problema desde el entorno virtual.
Supongamos que el entorno virtual se creó a través de:
pero solo tiene versiones de
python2
ypython2.7
, y necesita las características recientes de python3.7.Luego, simplemente ejecutando el comando:
agregará paquetes python3.7 si ya están disponibles en su sistema.
fuente
Esto fue un error con virtualenv. Solo actualizar tu pip debería ser la solución.
pip install --upgrade virtualenv
fuente
Como ya se mencionó en múltiples respuestas, usar virtualenv es una solución limpia. Sin embargo, un pequeño inconveniente que todos deben tener en cuenta es que si se establece un alias para python en bash_aliases como:
Este alias también se utilizará dentro del entorno virtual. Entonces, en este escenario que se ejecuta
python -V
dentro del entorno virtual, siempre se generará3.6
independientemente de qué intérprete se use para crear el entorno:fuente
Me funcionó en Windows con la instalación de Python 2:
Así es como creé el entorno virtual de Python 3 en mi instalación existente de Python 2.
fuente
Puedes hacerlo haciendo esto:
fuente
Sí, solo necesita instalar la otra versión de python y definir la ubicación de su otra versión de python en su comando como:
fuente
Aquí está el paso a paso sobre cómo crear el entorno virtual en la carpeta de código de Visual Studio: utilicé Powershell (modo Administrador):
1. Creo una carpeta VSCode - "D: \ Code_Python_VE" donde quiero crear un entorno virtual.
2. Luego escribo el comando - "pip3 install virtualenv". (D: \ Code_Python_VE> pip3 install virtualenv) 3. D: \ Code_Python_VE> python3 -m venv project_env
4. D: \ Code_Python_VE> project_env \ Scripts \ generate.bat
5. D: \ Code_Python_VE> ls - Esto mostrará una nueva directorio "project_env".
6. D: \ Code_Python_VE> código. Esto iniciará Visual Studio Code. Asegúrese de que el comando sea (código).
7. Cree launch.jason con el siguiente contenido:
(Busque cómo ir a la ventana Depurar y Agregar nueva configuración en el Código VS).
(project_env) d: \ Code_Python_VE> python -m pip install --upgrade
Espero que esto ayude.
fuente
UBUNTU 19.04 / Global Python 3.7.
Esto funcionó para mí, habilitando un entorno Python 3.8 usando el venv recomendado para el desarrollo de python 3.
Instale el módulo venv 3.8 y 3.8
$ sudo apt install python3.8 python3.8-venv ## más cualquier otro módulo que necesite
Crea tu Env Virtual usando la versión de python que quieras en ese env
$ /usr/bin/python3.8 -m venv python38-env
cambia a tu entorno virtual
$ source python38-env / bin / enable
python -V = python 3.8
fuente