Esta es la solución más exacta que encomtrarás aportar, pero primero obsérvala pausadamente y analiza si es compatible a tu proyecto.
Suponiendo que haya instalado python3
o cualquier versión deseada de Python (2.6, 2.7, 3.5, 3.6). Ahora, al crear el entorno virtual, pase directamente la ruta del ejecutable de Python. Por lo tanto, aquí hay algunos ejemplos válidos.
$ virtualenv new_p2_env # Creates a new default python environment (usually python 2)
$ virtualenv -p python3 new_p3_env # Creates a new default python3 (python3 must be a valid command i.e found in the PATH)
Y última
# Directly point to any version of python binary, this can be even another virtualenv's bin/python.
$ virtualenv -p /path/to/any/bin/python new_env
Alternativamente, creo que podría usar la versión específica de Python para crear el entorno virtual. De esa manera, sabrá con seguridad que es la versión correcta:
$ python3.5 -m venv test35
$ ./test35/bin/python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build ) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Referencia en https://docs.python.org/3.5/library/venv.html
A partir de la versión 3.3, Python incluye un paquete llamado venv
. Sin embargo, ese paquete no proporciona las mismas funcionalidades que el paquete tradicional. virtualenv
paquete.
venv
permite crear entornos virtuales solo para la versión de python para la que está instalado.
virtualenv
permite crear entornos virtuales para diferentes versiones de python proporcionando la ruta al binario.
Creación de entornos virtuales para diferentes versiones de python:
Entonces, suponiendo que uno tiene Python 2.7 y Python 3.6 instalados en /path/to/
y quiere crear el entorno virtual nombrado respectivamente env-py36
con python 3.6 y env-py27
con pitón 2.7
# create a virtual env with python3's venv :
/path/to/python36/bin/python3 -m venv /my/python-venvs/env-py36
. /my/python-venvs/env-py36/bin/activate
# we're now running python 3's "env-py36" virtual env, we want to install the "virtualenv" package
pip install virtualenv
deactivate
# now use virtualenv to create a virtual environment for python 2.7
/my/python-venvs/env-py36/bin/virtualenv --python=/path/to/python27/bin/python /my/python-venvs/env-py27
Usando python 3.3+ venv
Pitón 3.3+:
/path/to/python3/bin/python3 -m venv ENV_DIR
Python 3.3 a 3.5 (en desuso en 3.6+):
/path/to/python3/bin/pyvenv ENV_DIR
Fuentes:
- Creación de entornos virtuales
- Python 3.3 venv
- paquete Python virtualenv