Question

J'ai un système Debian en cours d'exécution avec python 2.5.4. Je me suis virtualenv correctement installé, tout fonctionne bien. Est-il possible que je puisse utiliser un virtualenv avec une autre version de Python?

Je compilé Python 2.6.2 et que vous souhaitez l'utiliser avec certains virtualenv. Est-il suffisant pour écraser le fichier binaire? Ou dois-je changer quelque chose en ce qui concerne les bibliothèques?

Était-ce utile?

La solution

Il suffit d'utiliser l'option --python (ou -p courte) lors de la création de votre instance virtualenv pour spécifier le que vous voulez utiliser l'exécutable Python, par exemple:.

virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>

N.B.. Python 3.3 ou plus tard, reportez-vous à la répondre ci-dessous.

Autres conseils

Mise à jour: Pour Python3.6, le script ci-dessous de pyvenv est dépréciée. Au lieu,   virtuelle Python Docs suggèrent la création d'un environnement virtuel avec la commande suivante:

python3 -m venv <myenvname>

python3 (3.3+), utiliser la méthode ci-dessus ou le script de commande pyvenv

pyvenv /path/to/new/virtual/environment

S'il vous plaît noter que venv ne permet pas de créer virtualenv avec d'autres versions de Python. Pour cela, installer et utiliser le virtualenv .

Ce sont des étapes lorsque vous êtes sur l'environnement d'hébergement mutualisé et besoin d'installer et complie Python de source, puis créer venv à partir de votre version de Python. Pour Python vous 2.7.9 feriez quelque chose le long de ces lignes:

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install

env virtuel

cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate   

Bien sûr, cela peut être applicable à toute situation dans laquelle vous voulez reproduire l'environnement exact que vous travaillez et déployer sur.

virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>

Il y a un moyen plus facile,

virtualenv venv --python=python2.7

Merci à un commentaire, cela ne fonctionne que si vous avez python2.7 installé au niveau du système (par exemple /usr/bin/python2.7).

Dans le cas contraire, si vous utilisez homebrew vous pouvez utiliser le chemin pour vous donner ce que vous voulez.

virtualenv venv --python=/usr/local/bin/python

Vous pouvez trouver le chemin de votre installation de python avec

which python

Cela permettra également de travailler avec python 3.

which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3

En fin de compte à condensation:

virtualenv venv -p `which python`
virtualenv venv -p `which python3`

Sous Windows pour moi cela fonctionne:

virtualenv --python=c:\Python25\python.exe envname

sans python.exe je suis arrivé WindowsError: [Error 5] Access is denied J'ai Python2.7.1 installé avec virtualenv 1.6.1, et je voulais python 2.5.2.

Mac OS X 10.6.8 (Snow Leopard):

1) Lorsque vous faites pip install virtualenv, la commande pip est associée à un de vos versions de python et virtualenv est installé dans cette version de python. Vous pouvez faire

 $ which pip   

pour voir quelle version de python qui est. Si vous voyez quelque chose comme:

 $ which pip
 /usr/local/bin/pip

puis faites:

$ ls -al /usr/local/bin/pip
lrwxrwxr-x  1 root  admin  65 Apr 10  2015 /usr/local/bin/pip ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip

Vous pouvez voir la version python dans la sortie.

Par défaut, ce sera la version de python qui est utilisé pour tout nouvel environnement que vous créez. Cependant, vous pouvez spécifier une version de python installé sur votre ordinateur pour utiliser dans un nouvel environnement avec le -p flag:

$ virtualenv -p python3.2 my_env  
Running virtualenv with interpreter /usr/local/bin/python3.2  
New python executable in my_env/bin/python  
Installing setuptools, pip...done.  
  

virtualenv my_env va créer un dossier dans le répertoire courant   contiendra les fichiers exécutables Python, et une copie du pip   [Commande] que vous pouvez utiliser pour installer d'autres paquets.

http://docs.python-guide.org/en/ latest / dev / virtualenvs /

virtualenv python seulement des copies à partir d'un emplacement sur votre ordinateur dans le my_env nouvellement créé / bin /.

2) Le python système est en /usr/bin, tandis que les différentes versions de python j'INSTALLÉ sont, par défaut, installé dans:

 /usr/local/bin

3) Les différents pythons j'INSTALLÉ ont des noms comme python2.7 ou python3.2, et je peux utiliser ces noms plutôt que des chemins complets.

======== ========= VIRTUALENVWRAPPER

1) J'ai eu quelques problèmes pour faire virtualenvwrapper travailler. Voilà ce que je fini par mettre en ~/.bash_profile:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/django_projects  #Not very important -- mkproject command uses this
#Added the following based on: 
#http://stackoverflow.com/questions/19665327/virtualenvwrapper-installation-snow-leopard-python
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7 
#source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

2) Le -p option fonctionne différemment avec virtualenvwrapper: Je dois spécifier le chemin complet vers l'interpréteur python être utilisé dans le nouvel environnement (quand je ne veux pas utiliser la version python par défaut):

$ mkvirtualenv -p /usr/local/bin/python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3
New python executable in my_env/bin/python
Installing setuptools, pip...done.
Usage: source deactivate

removes the 'bin' directory of the environment activated with 'source
activate' from PATH. 

Contrairement à virtualenv, virtualenvwrapper va créer l'environnement à l'emplacement spécifié par la variable d'environnement WORKON_HOME $. Cela permet de conserver tous vos environnements en un seul endroit.

Supposons que vous avez actuellement Python 2.7 installé dans votre virtualenv. Mais voulez utiliser python3.2, vous devez mettre à jour ce avec:

$ virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv

Ensuite, activez votre virtualenv par:

$ source activate name_of_your_virtualenv

puis faire: python --version en coquille pour vérifier si votre version est mise à jour

.

Ces deux commandes doivent fonctionner correctement.

virtualenv -p python2 myenv (Pour python2)

virtualenv -p python3 myenv (Pour python3)

Vous pouvez appeler virtualenv avec la version python vous voulez. Par exemple:

python3 -m virtualenv venv

Ou bien pointer directement sur votre chemin de virtualenv. par exemple. pour les fenêtres:

c:\Python34\Scripts\virtualenv.exe venv

Et en exécutant:

venv/bin/python

Python 3.5.1 (v3.5.1:37a07cee5969, Dec  5 2015, 21:12:44) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

vous pouvez voir la version python installée dans un environnement virtuel

L'approche -p fonctionne bien, mais vous ne devez pas oublier de l'utiliser à chaque fois. Si votre objectif est de passer à une version plus récente de Python en général, qui est une douleur et peut aussi conduire à des erreurs.

Votre autre option est de définir une variable d'environnement qui fait la même chose que -p. Réglez via votre fichier ~/.bashrc ou chaque fois que vous gérez les variables d'environnement pour vos sessions de connexion:

export VIRTUALENV_PYTHON=/path/to/desired/version

Alors virtualenv utilisera que chaque fois que vous ne spécifiez pas -p sur la ligne de commande.

Pour Mac (High Sierra), installer le virtualenv sur python3 et créer un virtualenv pour python2:

 $ python3 -m pip install virtualenv
 $ python3 -m virtualenv --python=python2 vp27
 $ source vp27/bin/activate
 (vp27)$ python --version
 Python 2.7.14

Encore plus facile, en utilisant la substitution de commande pour trouver python2 pour vous:

virtualenv -p $(which python2) <path/to/new/virtualenv/>

Ou lorsque vous utilisez virtualenvwrapper:

mkvirtualenv -p $(which python2) <env_name>

Sur le Mac, j'utilise pyenv et virtualenvwrapper. Je devais créer un nouveau virtualenv. Vous avez besoin homebrew que je suppose que vous avez installé si vous êtes sur un Mac, mais juste pour le plaisir:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
export PATH=/Users/{USERNAME}/.pyenv/versions/2.7.10/bin:$PATH
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python  {virtual_env_name}

J'ai aussi gelé mes besoins d'abord pour que je puisse simplement réinstaller dans le nouveau virtualenv avec:

pip install -r requirements.txt

Dans le sous-système Windows pour Linux:

  1. Créer un environnement pour python3:

    virtualenv --python=/usr/bin/python3 env
    
  2. activer:

    source env/bin/activate
    

Oui , les réponses ci-dessus sont corrects et fonctionne très bien sur les systèmes Unix comme Linux MAC OS X .

J'ai essayé de créer virtualenv python2 python3 avec les commandes suivantes.

Ici, je l'ai utilisé venv2 venv3 comme leurs noms pour python2 python3 , respectivement.

  

python2 »

MacBook-Pro-2:~ admin$ virtualenv venv2 --python=`which python2`
Running virtualenv with interpreter /usr/local/bin/python2
New python executable in /Users/admin/venv2/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ ls venv2/bin/
activate        easy_install        pip2.7          python2.7
activate.csh        easy_install-2.7    python          wheel
activate.fish       pip         python-config
activate_this.py    pip2            python2
MacBook-Pro-2:~ admin$ 
  

python3 »

MacBook-Pro-2:~ admin$ virtualenv venv3 --python=`which python3`
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/admin/venv3/bin/python3
Also creating executable in /Users/admin/venv3/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ ls venv3/bin/
activate        easy_install        pip3.6          python3.6
activate.csh        easy_install-3.6    python          wheel
activate.fish       pip         python-config
activate_this.py    pip3            python3
MacBook-Pro-2:~ admin$ 
  

Vérification des emplacements d'installation Python

MacBook-Pro-2:~ admin$ which python2
/usr/local/bin/python2
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ which python3
/usr/local/bin/python3
MacBook-Pro-2:~ admin$ 

Il a travaillé pour moi

sudo apt-get install python3-minimal

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

Sur les fenêtres:

py -3.4x32 -m venv venv34

ou

py -2.6.2 -m venv venv26

utilise le lanceur py qui trouvera le python droit exécutable pour vous (en supposant que vous l'avez installé).

virtualenv -p python3 myenv

Lien vers Création virtualenv

Pour Debian (debian 9) Systèmes en 2019, j'ai découvert une solution simple qui peut résoudre le problème dans l'environnement virtuel.

Supposons que l'environnement virtuel ont été créés via:

python3.7 -m venv myenv

mais seulement a des versions de python2 et python2.7, et vous avez besoin des fonctionnalités récentes de python3.7.

Ensuite, il suffit d'exécuter la commande:

(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/

va ajouter des packages de python3.7 si elles sont déjà disponibles sur votre système.

Ce fut un bug avec virtualenv. la mise à niveau juste votre pip devrait être la solution.

pip install --upgrade virtualenv

Il a travaillé pour moi sur Windows avec l'installation python 2:

  1. Etape 1: Installez la version python 3.
  2. Étape 2: créer un dossier pour env     l'environnement virtuel.
  3. Étape 3: c: \ Python37 \ python -m venv     c:. \ path \ to \ env

Voici comment j'ai créé l'environnement virtuel Python 3 sur mon installation python existant 2.

J'utilise pyenv pour gérer ma version python.

pyenv install 3.7.3
pyenv local 3.7.3

Vérifiez votre version python:

$ python --version
Python 3.7.3

Créer l'environnement virtuel venv :

python -m venv .

Ensuite, activez l'environnement virtuel:

source bin/activate

Vérifiez votre version python:

$ python --version
Python 3.7.3

Vous devrez peut-être supprimer l'environnement virtuel précédent

rm -rf bin

Vous pouvez le faire en faisant ceci:

virtualenv -p python3 .

Oui, vous avez juste besoin d'installer l'autre version de python, et définir l'emplacement de votre autre version de python dans votre commande comme:

  
    
      

virtualenv / home / paie / Documents / env -p / usr / bin / python3

    
  

Voici le stepbystep comment créer l'environnement virtuel dans le dossier de code Visual Studio: Je 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 tapez la commande - « installer PIP3 virtualenv ». (D: \ Code_Python_VE> PIP3 installer 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. D: Code \ Code_Python_VE>. Cela va démarrer le code Visual Studio. Assurez-vous que la commande est (code.).
 7. Créer launch.jason avec le contenu suivant:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "python",
            "request": "launch",
            "name": "Python: Current File (Integrated Terminal 1)",
            "program": "${file}"
        },
        {
            "name": "Python: Current File (Integrated Terminal 2)",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        },
    ]
}

(S'il vous plaît chercher comment aller à la fenêtre de débogage et Ajouter une nouvelle configuration dans le code VS).

  1. Appuyez sur F1 dans le code Visual Studio et la palette de commande ouvrira ses portes - Sélectionnez Python Interprète et sélectionnez l'environnement virtuel project_env.
  2. Ajoutez test.py fichier avec une impression de déclaration ( "Bonjour tout le monde").
  3. Exécuter ce programme.
  4. Dans Terminal Code Visual Studio -
    (Project_env) d: \ Code_Python_VE> python -m pip installer --upgrade
    J'espère que cela aide.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top