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
venvno permite crear entornos virtuales con otras versiones de Python. Para eso, instale y use elvirtualenvpaquete .Información obsoleta
El
pyvenvscript 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.pyvenvscript está en desuso en Python 3.6+, aunque elvenvmódulo subyacente en sí no. Asípython 3 -m venv <myenvname>que úsalo como dice @PaulEveritt.pyvenvopython3 -m venv ...NO instale elpython-configscript. Esto significa que incluso después de activar su entorno Python3, se invocará todo el sistemapython-configcon consecuencias confusas. Vea este informe de error de 2011 github.com/pypa/virtualenv/issues/169 y mi pregunta stackoverflow.com/questions/42020937/…venvno 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).venvcon una versión específica de Python es usar esa versión al configurarla. Por ejemplo:python3.5 -m venv venvEstos 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
venvdesde 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/virtualenvlugar de solo lavirtualenvconfiguración para completar sin errores. Además, use ensource ve/bin/activatelugar desource activate.fuente
-p.python3.6pero no quieres tocarpython3.5instalado 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.6asívirtualenv env --python=python2virtualenv venv --python=<insert_your_python_version_here><insert_your_python_version_here>C:\Python\Python368\python.exeEn Windows para mí esto funciona:
sin el
python.exeque tengoWindowsError: [Error 5] Access is deniedtengo 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 yvirtualenvse 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/
virtualenvsimplemente 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.7opython3.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 optionFunciona 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 pipno me dice la versión de Python. Me da esto/usr/local/bin/pip./usr/local/binhaces y lo haces$ ls -al pip, deberías ver algo como:pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pipmkprojectes 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 myNewPython36ProjectEstos 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 --versionen shell para verificar si tu versión ahora está actualizada.fuente
-p.Puedes llamar
virtualenvcon 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 virtualenvprimeroEl
-penfoque 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~/.bashrcarchivo o donde sea que administre variables de entorno para sus sesiones de inicio de sesión:Luego
virtualenvlo usará en cualquier momento que no especifique-pen la línea de comando.fuente
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/versionsegún los documentos virtualenvwrapper no funcionó pero esta solución funcionó?virtualenvwrapperusa 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 virtualenvEn 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.pyenvincluye soporte virtualenv a través delpyenv-virtualenvcomplemento, 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.tgzLuego 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
pyiniciador 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
pypara hacerlo mucho más fácilmente. Simplemente instale la versión diferente de Python, luego ejecute:Esto creará un entorno virtual llamado
enven su directorio actual, usando python[my version]. Como ejemplo:Esto crea un entorno virtual llamado
envusando python3.7 y lo activa. No se requieren caminos u otras cosas complejas.fuente
py -3.7 -m venv enven su lugar (-mfalta 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
python2ypython2.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 virtualenvfuente
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 -Vdentro del entorno virtual, siempre se generará3.6independientemente 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