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.
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.
Ajouter deux solutions supplémentaires au problème:
#! 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.6py -2
- dernière version installée 2.xpy -3.4
- version 3.4py -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 cecic:\venvs\2.5\activate
et lorsque vous souhaitez passer à Python 2.6, vous le faites.
deactivate
c:\venvs\2.6\activate
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.
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
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.
Voici un petit hack:
C:\Users\Your name
)name_of_your_shortcut.lnk
(j'utilise p27.lnk
)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.
>>>
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.
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
.
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/
Je recommande fortement le projet pyenv-win .
Grâce au travail de kirankotari , nous avons maintenant une version Windows de pyenv.
installer python
variable d'environnement
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
renommer le fichier
pépin
python2 -m pip install package
python3 -m pip install package
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
ajouté% pathpython% à la variable d'environnement path
suppression de toute référence aux chemins de python
Dans la section variables système
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.