Mes environnements virtuels Python utilisent python3.6
lorsque je les crée avec virtualenv
~ $ virtualenv my_env
mais je dois utiliser python3.5
car 3.6 est n'est actuellement pas pris en charge par Opencv3
.
J'ai essayé d'utiliser l'indicateur --python=<py_version>
lors de la création d'un environnement virtuel, mais cela ne fonctionne pas.
virtualenv
pour Mac et/ou Linux?En supposant que vous ayez installé python3
ou n’importe quelle version de Python de votre choix (2.6, 2.7, 3.5, 3.6), lors de la création de l’environnement virtuel, passez directement le chemin de l’exécutable python. Par conséquent, voici quelques exemples valables
$ 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)
Enfin
# Directly point to any version of python binary, this can be even another virtualenv's bin/python.
$ virtualenv -p /path/to/any/python/executable new_env
Alternativement, je pense que vous pourriez utiliser la version spécifique de Python lui-même pour créer l'environnement virtuel. De cette façon, vous saurez avec certitude que c'est la bonne version:
$ 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.
>>>
Référence à https://docs.python.org/3.5/library/venv.html
A partir de la version 3.3, python inclut un paquet nommé venv
. Toutefois, ce package ne fournit pas les mêmes fonctionnalités que le package virtualenv
traditionnel.
venv
permet de créer des environnements virtuels uniquement pour la version de python pour laquelle il est installé .virtualenv
permet de créer des environnements virtuels pour différentes versions de python en fournissant le chemin d'accès au binaire.
Supposons donc que python 2.7 et 3.6 ont été installés dans /path/to/
et qu'ils veulent créer l’env virtuel nommé respectivement env-py36
avec python 3.6 et env-py27
avec python 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
Python 3.3+:
/path/to/python3/bin/python3 -m venv ENV_DIR
Python 3.3 à 3.5 (obsolète en 3.6+):
/path/to/python3/bin/pyvenv ENV_DIR
Je travaille sur Ubuntu et MacOS
Ubuntu:
virtualenv -p python3.6 environment_file
Mac OS:
virtualenv -p python3.6 environment_file
Je pense que ça soit pareil