web-dev-qa-db-fra.com

Comment exécuter plusieurs versions de Python sous Windows

J'avais deux versions de Python installées sur ma machine (versions 2.6 et 2.5). Je veux exécuter 2.6 pour un projet et 2.5 pour un autre. 

Comment puis-je spécifier lequel je veux utiliser?

Je travaille sur Windows XP SP2.

141
Bilal Basharat

Exécuter une copie différente de Python est aussi simple que de lancer l'exécutable approprié. Vous dites que vous avez démarré une instance de Python à partir de la ligne de commande en tapant simplement python

Sous Windows, cela consiste à rechercher la variable d’environnement% PATH%, en recherchant un exécutable, fichier batch (.bat), fichier de commande (.cmd) ou un autre exécutable à exécuter, qui correspond au nom donné. Lorsqu'il trouve le fichier correct à exécuter, il le fait.

Maintenant, si vous avez installé deux versions 2.5 et 2.6 de Python, le chemin d'accès contiendra leurs deux répertoires, quelque chose comme PATH=c:\python\2.5;c:\python\2.6, mais Windows cessera de l'examiner lorsqu'il trouvera une correspondance.

Ce que vous devez vraiment faire est d’appeler explicitement l’une ou les deux applications, telles que c:\python\2.5\python.exe ou c:\python\2.6\python.exe.

L'autre alternative consiste à créer un raccourci vers le python.exe respectif en appelant l'un d'eux python25 et l'autre python26; vous pouvez alors simplement exécuter python25 sur votre ligne de commande.

109
aodj

Ajouter deux solutions supplémentaires au problème:

  • Utilisez pylauncher (si vous avez Python 3.3 ou une version plus récente, vous n'avez pas besoin de l'installer car est fourni avec déjà Python] et ajoutez des lignes Shebang. à vos scripts;

#! c:\[path to Python 2.5]\python.exe - pour les scripts que vous voulez exécuter avec Python 2.5
#! c:\[path to Python 2.6]\python.exe - pour les scripts que vous souhaitez exécuter avec Python 2.6

ou au lieu d'exécuter la commande python, exécutez la commande pylauncher (py) en spécifiant quelle version de Python vous souhaitez;

py -2.6 - version 2.6
py -2 - dernière version installée 2.x
py -3.4 - version 3.4
py -3 - dernière version installée 3.x

virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]

virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]

par exemple

virtualenv -p c:\python2.5\python.exe c:\venvs\2.5

virtualenv -p c:\python2.6\python.exe c:\venvs\2.6

alors vous pouvez activer le premier et travailler avec Python 2.5 comme ceci
c:\venvs\2.5\activate
et lorsque vous souhaitez passer à Python 2.6, vous le faites.

deactivate  
c:\venvs\2.6\activate
81
Piotr Dobrogost

Depuis Python 3.3, il y a le lanceur officiel Python pour Windows ( http://www.python.org/dev/peps/pep-0397/ ). Maintenant, vous pouvez utiliser le #!pythonX pour déterminer la version voulue de l'interpréteur également sous Windows. Voir plus de détails dans mon autre commentaire ou lisez le PEP 397.

Résumé:py script.py lance la version Python indiquée dans #! ou Python 2 si #! est manquant. Le py -3 script.py lance Python 3.

45
pepr

Selon @alexander, vous pouvez créer un ensemble de liens symboliques comme ci-dessous. Placez-les quelque part dans votre chemin pour pouvoir les invoquer facilement.

> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe

Tant que c:\bin ou quel que soit l'endroit où vous les avez placés est sur votre chemin, vous pouvez maintenant aller

> python25
42
Christopher Hackett

Lorsque vous installez Python, il ne remplacera pas les installations d'autres versions majeures. Donc, installer Python 2.5.x ne remplacera pas Python 2.6.x, bien que l’installation de la 2.6.6 écrase la 2.6.5.

Donc, vous pouvez simplement l'installer. Ensuite, vous appelez la version Python souhaitée. Par exemple:

C:\Python2.5\Python.exe

pour Python 2.5 sur Windows et

C:\Python2.6\Python.exe

pour Python 2.6 sous Windows, ou 

/usr/local/bin/python-2.5

ou 

/usr/local/bin/python-2.6

sur Les fenêtres Unix (y compris Linux et OS X).

Lors de l'installation sous Unix (y compris Linux et OS X), vous obtiendrez une commande générique python, qui sera la dernière que vous avez installée. Ce n’est généralement pas un problème car la plupart des scripts appellent explicitement /usr/local/bin/python2.5 ou quelque chose simplement pour se protéger de cela. Mais si vous ne voulez pas faire cela, et probablement pas, vous pouvez l'installer comme ceci:

./configure
make
Sudo make altinstall

Notez le "altinstall" qui signifie qu'il va l'installer, mais il va pas remplacer la commande python.

Sous Windows, vous ne recevez pas une commande globale python pour autant que je sache, donc ce n'est pas un problème.

6
Lennart Regebro

Voici un petit hack:

  1. Allez dans le répertoire de la version de python que vous voulez exécuter
  2. Faites un clic droit sur python.exe
  3. Sélectionnez ' Créer un raccourci '
  4. Donnez à ce raccourci un nom à appeler (j’utilise p27, p33, etc.)
  5. Déplacez ce raccourci vers votre répertoire personnel (C:\Users\Your name)
  6. Ouvrez une invite de commande et entrez name_of_your_shortcut.lnk (j'utilise p27.lnk)
4
David Greydanus

cp c:\python27\bin\python.exe en tant que python2.7.exe

cp c:\python34\bin\python.exe en tant que python3.4.exe

ils sont tous dans le chemin du système, choisissez la version que vous voulez exécuter

C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>

C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
2
bruceyang

La façon la plus simple d’exécuter plusieurs versions de python sous Windows est décrite ci-dessous: -

1) Téléchargez les dernières versions de python à partir de python.org/downloads en sélectionnant la version appropriée pour votre système.

2) Exécutez le programme d'installation et sélectionnez Ajoutez python 3.x au chemin pour définir le chemin automatiquement dans python 3 (il vous suffit de cocher la case). Pour Python 2, ouvrez votre programme d’installation Python 2, sélectionnez les préférences de votre choix, mais n'oubliez pas de définir Ajouter python.exe au chemin à Sera installé sur le disque dur local , Il suffit maintenant de cliquer sur Suivant et d’attendre l'installateur pour finir.

3) Lorsque les deux installations sont terminées. Cliquez avec le bouton droit de la souris sur mon ordinateur - Allez dans les propriétés - Sélectionnez les paramètres système avancés - Allez dans les variables d’environnement - Cliquez sur Nouveau sous Variables système et ajoutez une nouvelle variable système avec nom de la variable as PY_PYTHON et définissez cette valeur de variable sur 3 . Maintenant, cliquez surOKet vous devriez avoir terminé.

4) Maintenant, pour tester cela, ouvrez la commande Invite . Une fois que vous y êtes, tapez python ou py , cela devrait ouvrir python3 .

5) Maintenant, quittez python3 en tapant exit () . Maintenant, tapez py -2 il devrait ouvrir python 2.

Si rien de tout cela ne fonctionne, redémarrez l'ordinateur et si le problème persiste, désinstallez tout et répétez la procédure.

Merci.

1
Harsh Singh

Par exemple, pour la version 3.6, tapez py -3.6. Si vous avez également des versions 32 bits et 64 bits, vous pouvez simplement taper py -3.6-64 ou py -3.6-32.

1
Mehran Jalili

J'ai eu le même problème lorsque je travaillais avec différentes versions de python. J'ai donc utilisé anaconda navigator pour créer différents environnements de développement python et utiliser différentes versions de python dans chaque environnement.

Voici la documentation d'aide pour cela.

https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/

1
mohitesachin217
  1. Vous pouvez copier le fichier python.exe du dossier python 2.5 dans C:\Windows et le renommer en py25.exe (ou le nom de votre choix).
  2. copiez ensuite le dossier python.exe du dossier python 2.6 et collez-le dans le dossier C:\Windows (renommez-le en py26.exe).
    Vous pouvez maintenant écrire py25 dans la ligne de commande pour démarrer python 2.5 et py26 pour démarrer python 2.6.
    Le nom de la commande doit correspondre au fichier renommé.
0
isaif

Je recommande fortement le projet pyenv-win .

 enter image description here 

Grâce au travail de kirankotari , nous avons maintenant une version Windows de pyenv.

0
Xin Lv
  1. installer python

    • C:\Python27
    • C:\Python36
  2. variable d'environnement

    • PYTHON2_HOME: C:\Python27
    • PYTHON3_HOME: C:\Python36
    • Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
  3. renommer le fichier

    • C:\Python27\python.exe → C:\Python27\python2.exe
    • C:\Python36\python.exe → C:\Python36\python3.exe
  4. pépin

    • python2 -m pip install package
    • python3 -m pip install package
0

Utiliser un fichier de commandes pour basculer, facile et efficace sous Windows 7. J'utilise ceci:

Dans la boîte de dialogue de la variable d’environnement (C:\Windows\System32\SystemPropertiesAdvanced.exe),

Dans la section variables utilisateur

  1. ajouté% pathpython% à la variable d'environnement path

  2. suppression de toute référence aux chemins de python 

Dans la section variables système

  1. suppression de toute référence aux chemins de python 

J'ai créé des fichiers de commandes pour chaque installation Python (exemple pour 3.4 x64

Nom = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) juste à retenir.

Contenu du fichier = 

     Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin

     setx PathPython %PathPython%

Pour basculer entre les versions, j'exécute le fichier de commandes en mode administrateur. 

!!!!! Les modifications sont effectives pour la fenêtre subséquente de la commande SUBSEQUENT OPENED. !!!

Donc, j'ai le contrôle exact sur elle.

0
Aman