J'ai un système Debian fonctionnant actuellement avec python 2.5.4. J'ai obtenu virtualenv correctement installé, tout fonctionne bien. Est-il possible d'utiliser un virtualenv avec une version différente de Python?
J'ai compilé Python 2.6.2 et je voudrais l'utiliser avec des virtualenv. Est-ce suffisant pour écraser le fichier binaire? Ou dois-je changer quelque chose par rapport aux bibliothèques?
Réponses:
Utilisez simplement l' option
--python
(ou courte-p
) lors de la création de votre instance virtualenv pour spécifier l'exécutable Python que vous souhaitez utiliser, par exemple:NB Pour Python 3.3 ou version ultérieure, reportez-vous à la réponse d'Aelfinn ci-dessous.
la source
virtualenv -p `which python2.6` <path/to/new/virtualenv>
Depuis Python 3, les documents Python suggèrent de créer l'environnement virtuel avec la commande suivante:
Veuillez noter que
venv
cela ne permet pas de créer des environnements virtuels avec d'autres versions de Python. Pour cela, installez et utilisez levirtualenv
package .Informations obsolètes
Le
pyvenv
script peut être utilisé pour créer un environnement virtuelmais il est obsolète depuis Python 3.6.
la source
python3 -m venv <envname>
pour éviter d'avoir besoin de scripts de stub pour tout.pyvenv
script est obsolète dans Python 3.6+, bien que levenv
module sous-jacent lui-même ne le soit pas. Donc, utilisezpython 3 -m venv <myenvname>
comme le dit @PaulEveritt.pyvenv
oupython3 -m venv ...
n'installez PAS lepython-config
script. Cela signifie que même après avoir activé votre environnement Python3, l'ensemble du systèmepython-config
sera invoqué avec des conséquences déroutantes. Voir ce rapport de bogue de 2011 github.com/pypa/virtualenv/issues/169 et ma question stackoverflow.com/questions/42020937/…venv
cela ne permet pas de créer virtualenv avec d'autres versions de Python." - Tu es sûr que c'est vrai? Cela semble fonctionner très bien pour moi si je le crée avec une version spécifique de Python, par exemplepython3.5 -m venv <myenvname>
(à condition que cette version de Python soit disponible).venv
avec une version Python spécifique est d'utiliser cette version lors de sa configuration. Par exemple:python3.5 -m venv venv
Ce sont les étapes que vous pouvez suivre lorsque vous êtes dans un environnement d'hébergement partagé et que vous devez installer et compiler Python à partir de la source, puis créer à
venv
partir de votre version Python. Pour Python 2.7.9. vous feriez quelque chose dans ce sens:env virtuel
Naturellement, cela peut être applicable à toute situation où vous souhaitez répliquer l'environnement exact sur lequel vous travaillez et déployez.
la source
~/.localpython/bin/virtualenv
au lieu de simplementvirtualenv
pour que la configuration se termine sans erreurs. De plus, utilisezsource ve/bin/activate
au lieu desource activate
.la source
-p
.python3.6
mais que vous ne voulez pas toucherpython3.5
installé sur votre ordinateur?Il existe un moyen plus simple,
Grâce à un commentaire, cela ne fonctionne que si vous avez installé python2.7 au niveau du système (par exemple /usr/bin/python2.7).
Sinon, si vous utilisez homebrew, vous pouvez utiliser le chemin pour vous donner ce que vous voulez.
Vous pouvez trouver le chemin vers votre installation python avec
Cela fonctionnera également avec python 3.
Condenser finalement à:
la source
virtualenv venv --python=python3.6
aussivirtualenv env --python=python2
virtualenv venv --python=<insert_your_python_version_here>
où<insert_your_python_version_here>
était dans mon casC:\Python\Python368\python.exe
Sous Windows pour moi, cela fonctionne:
sans le
python.exe
j'ai,WindowsError: [Error 5] Access is denied
j'ai Python2.7.1 installé avec virtualenv 1.6.1, et je voulais python 2.5.2.la source
Mac OSX 10.6.8 (Snow Leopard):
1) Lorsque vous le faites
pip install virtualenv
, la commande pip est associée à l'une de vos versions de python etvirtualenv
est installée dans cette version de python. Tu peux fairepour voir de quelle version de python il s'agit. Si vous voyez quelque chose comme:
alors fais:
Vous pouvez voir la version python dans la sortie.
Par défaut, ce sera la version de python utilisée pour tout nouvel environnement que vous créez. Cependant, vous pouvez spécifier n'importe quelle version de python installée sur votre ordinateur à utiliser dans un nouvel environnement avec
-p flag
:http://docs.python-guide.org/en/latest/dev/virtualenvs/
virtualenv
copie simplement python depuis un emplacement de votre ordinateur dans le répertoire my_env / bin / nouvellement créé.2) Le système python est dans
/usr/bin
, tandis que les différentes versions de python que j'ai installées étaient, par défaut, installées dans:3) Les différents pythons que j'ai installés ont des noms comme
python2.7
oupython3.2
, et je peux utiliser ces noms plutôt que des chemins complets.======== VIRTUALENVWRAPPER =========
1) J'ai rencontré des problèmes pour faire fonctionner virtualenvwrapper. C'est ce que j'ai fini par mettre
~/.bash_profile
:2)
-p option
Cela fonctionne différemment avec virtualenvwrapper: je dois spécifier le chemin complet vers l'interpréteur python à utiliser dans le nouvel environnement (quand je ne veux pas utiliser la version python par défaut):Contrairement à virtualenv, virtualenvwrapper créera l'environnement à l'emplacement spécifié par la variable d'environnement $ WORKON_HOME. Cela maintient tous vos environnements en un seul endroit.
la source
which pip
ne me dit pas la version de Python. Ça me donne ça-/usr/local/bin/pip
./usr/local/bin
et faites$ ls -al pip
, vous devriez voir quelque chose comme:pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
mkproject
c'est la commande à utiliser si vous voulez qu'il crée à la fois le répertoire du projet et un environnement virtuel d'une version python donnée.mkproject -p /usr/bin/python3.6 myNewPython36Project
Ces deux commandes devraient fonctionner correctement.
virtualenv -p python2 myenv
(Pour python2)virtualenv -p python3 myenv
(Pour python3)la source
Supposons que python 2.7 soit actuellement installé dans votre virtualenv. Mais souhaitez utiliser
python3.2
, vous devez mettre à jour cela avec:Activez ensuite votre virtualenv en:
puis faites:
python --version
dans le shell pour vérifier si votre version est maintenant mise à jour.la source
-p
.Vous pouvez appeler
virtualenv
avec la version python de votre choix. Par exemple:Ou pointez directement sur votre chemin virtualenv. par exemple pour les fenêtres:
Et en exécutant:
vous pouvez voir la version python installée dans un environnement virtuel
la source
pip3 install virtualenv
premierL'
-p
approche fonctionne bien, mais vous devez vous rappeler de l'utiliser à chaque fois. Si votre objectif est de passer à une version plus récente de Python en général, c'est pénible et peut également entraîner des erreurs.Votre autre option consiste à définir une variable d'environnement qui fait la même chose que
-p
. Définissez cela via votre~/.bashrc
fichier ou partout où vous gérez les variables d'environnement pour vos sessions de connexion:Ensuite
virtualenv
, vous l'utiliserez à tout moment que vous ne spécifiez pas-p
sur la ligne de commande.la source
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version
par les documents virtualenvwrapper n'a pas fonctionné mais cette solution a fonctionné?virtualenvwrapper
utilise lors de son exécution, rien à voir avec les installations.Encore plus facile, en utilisant la substitution de commandes pour trouver python2 pour vous:
virtualenv -p $(which python2) <path/to/new/virtualenv/>
Ou lors de l'utilisation de virtualenvwrapper:
mkvirtualenv -p $(which python2) <env_name>
la source
Pour Mac (High Sierra), installez virtualenv sur python3 et créez un virtualenv pour python2:
la source
python3 -m pip install virtualenv
Sur le mac, j'utilise pyenv et virtualenvwrapper. J'ai dû créer un nouveau virtualenv. Vous avez besoin d'un homebrew que je suppose avoir installé si vous êtes sur un Mac, mais juste pour le plaisir:
J'ai également gelé mes exigences en premier afin que je puisse simplement réinstaller dans le nouveau virtualenv avec:
la source
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
versions, pas une version. Si SO autorisait de courtes modifications, je l'aurais corrigé.pyenv
inclut le support virtualenv via lepyenv-virtualenv
plugin, donc je trouve que je n'ai pas vraiment besoin de virtualenvwrapper. Plus de détails dans ma réponse pyenv .[Novembre 2019] J'avais besoin d'installer un environnement Python 3.7 (env) sur mon système Arch Linux basé sur Python 3.8. Python 3.7 n'était plus sur le système, donc je ne pouvais pas rétrograder Python, pour installer un paquet dont j'avais besoin.
De plus, je voulais utiliser ce package / Python 3.7 dans un environnement virtuel (venv). Voilà comment je l'ai fait.
Téléchargez les fichiers source de la version Python:
J'ai téléchargé les fichiers source de Python 3.7.4 depuis
à
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
J'ai ensuite extrait cette archive (fichiers source) pour
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
Installation:
[Remarque: dans mon système env, pas un venv.]
Examinez les versions Python installées:
Comment créer un venv pour une version Python spécifique:
Créer Python 3.7 venv [sur un env / système d'exploitation Python 3.8]:
Ajouté à
~/.bashrc
:Testez Python 3.7 venv:
la source
Dans le sous-système Windows pour Linux:
Créer un environnement pour python3:
Activez-le:
la source
Sur les fenêtres:
ou
Cela utilise le
py
lanceur qui trouvera le bon exécutable python pour vous (en supposant que vous l'ayez installé).la source
Oui , les réponses ci - dessus sont bien corrects et les travaux sur les systèmes Unix comme Linux et MAC OS X .
J'ai essayé de créer virtualenv pour Python2 et Python3 avec les commandes suivantes.
Ici, j'ai utilisé venv2 et venv3 comme noms pour Python2 et Python3 respectivement.
la source
Ça a marché pour moi
la source
J'utilise pyenv pour gérer ma version python.
Vérifiez votre version python:
Créez l'environnement virtuel avec venv :
Activez ensuite l'environnement virtuel:
Vérifiez votre version python:
Vous devrez peut-être supprimer l'environnement virtuel précédent
la source
Ceux-ci semblent un peu trop compliqués pour Windows. Si vous utilisez Windows python 3.3 ou version ultérieure, vous pouvez utiliser le lanceur python
py
pour le faire beaucoup plus facilement. Installez simplement les différentes versions de python, puis exécutez:Cela créera un environnement virtuel appelé
env
dans votre répertoire actuel, en utilisant python[my version]
. Par exemple:Cela crée un environnement virtuel appelé à l'
env
aide de python3.7 et l'active. Aucun chemin ni autre élément complexe requis.la source
py -3.7 -m venv env
(il-m
manque)?Lien vers la création de virtualenv
la source
Pour les systèmes Debian (debian 9) en 2019, j'ai découvert une solution simple qui peut résoudre le problème depuis l'environnement virtuel.
Supposons que l'environnement virtuel ait été créé via:
mais n'a que des versions de
python2
etpython2.7
, et vous avez besoin des fonctionnalités récentes de python3.7.Ensuite, exécutez simplement la commande:
ajoutera des packages python3.7 s'ils sont déjà disponibles sur votre système.
la source
C'était un bug avec virtualenv. La simple mise à niveau de votre pip devrait être la solution.
pip install --upgrade virtualenv
la source
Comme déjà mentionné dans plusieurs réponses, l'utilisation de virtualenv est une solution propre. Cependant, un petit piège que tout le monde devrait savoir est que si un alias pour python est défini dans bash_aliases comme:
cet alias sera également utilisé dans l'environnement virtuel. Ainsi, dans ce scénario, l'exécution
python -V
à l'intérieur de3.6
l'environnement virtuel sortira toujours quel que soit l'interpréteur utilisé pour créer l'environnement:la source
Cela a fonctionné pour moi sur Windows avec l'installation de Python 2:
C'est ainsi que j'ai créé l'environnement virtuel Python 3 sur mon installation existante de Python 2.
la source
Vous pouvez le faire en faisant ceci:
la source
Oui, il vous suffit d'installer l'autre version de python et de définir l'emplacement de votre autre version de python dans votre commande comme:
la source
Voici l'étape étape par étape pour créer l'environnement virtuel dans le dossier Visual Studio Code: J'ai utilisé Powershell (mode Administrateur):
1. Je crée un dossier VSCode - "D: \ Code_Python_VE" où je veux créer un environnement virtuel.
2. Ensuite, je tape la commande - "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 \ activate.bat
5. D: \ Code_Python_VE> ls - Ceci listera un nouveau répertoire "project_env".
6. Code D: \ Code_Python_VE>. Cela démarrera Visual Studio Code. Assurez-vous que la commande est (code.).
7. Créez launch.jason avec le contenu suivant:
(Veuillez rechercher comment accéder à la fenêtre de débogage et ajouter une nouvelle configuration dans le code VS).
(project_env) d: \ Code_Python_VE> python -m pip install --upgrade
J'espère que cela aide.
la source
UBUNTU 19.04 / Global Python 3.7.
Cela a fonctionné pour moi, permettant un environnement Python 3.8 utilisant le venv recommandé pour le développement de python 3.
Installer les modules 3.8 et 3.8 venv
$ sudo apt install python3.8 python3.8-venv ## ainsi que tous les autres modules dont vous avez besoin
Créez votre environnement virtuel en utilisant la version python que vous souhaitez dans cet environnement
$ /usr/bin/python3.8 -m venv python38-env
basculez dans votre environnement virtuel
$ source python38-env / bin / activate
python -V = python 3.8
la source