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 ce que je souhaite utiliser?
Je travaille sur Windows XP SP2.
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 ce que je souhaite utiliser?
Je travaille sur Windows XP SP2.
Réponses:
Exécuter une copie différente de Python est aussi simple que de démarrer le bon exécutable. Vous mentionnez que vous avez démarré une instance python, à partir de la ligne de commande, en tapant simplement python
.
Ce que cela fait sous Windows, c'est de parcourir la %PATH%
variable d'environnement, en recherchant un exécutable, soit un fichier batch ( .bat
), un fichier de commandes ( .cmd
) ou un autre exécutable à exécuter (ceci est contrôlé par la PATHEXT
variable d'environnement), qui correspond au nom donné. Lorsqu'il trouve le fichier correct à exécuter, le fichier est en cours d'exécution.
Maintenant, si vous avez installé deux versions de python 2.5 et 2.6, le chemin contiendra leurs deux répertoires, quelque chose comme, PATH=c:\python\2.5;c:\python\2.6
mais Windows arrêtera d'examiner le chemin lorsqu'il trouve une correspondance.
Ce que vous devez vraiment faire est d'appeler explicitement une ou les deux applications, telles que c:\python\2.5\python.exe
ou c:\python\2.6\python.exe
.
L'autre alternative est de créer un raccourci vers l' python.exe
appelant respectif de l'un d'eux python25
et de l'autre python26
; vous pouvez alors simplement exécuter python25
sur votre ligne de commande.
Ajout de deux autres solutions au problème:
#! c:\[path to Python 2.5]\python.exe
- pour les scripts que vous souhaitez 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 python
commande, exécutez la commande pylauncher command ( py
) en spécifiant la version de Python souhaitée;
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 ça
c:\venvs\2.5\activate
et quand vous voulez passer à Python 2.6 vous faites
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate
. C'est sur Windows 10 si cela fait une différence. Autre que cela, fonctionne comme un charme, merci.
À partir de Python 3.3, il y a le lanceur officiel Python pour Windows ( http://www.python.org/dev/peps/pep-0397/ ). Maintenant, vous pouvez utiliser #!pythonX
pour déterminer la version souhaitée de l'interpréteur également sous Windows. Voir plus de détails dans mon autre commentaire ou lire la PEP 397.
Résumé: Les py script.py
lancements de la version Python indiqué dans #!
ou Python 2 #!
s'il manque. Le py -3 script.py
lance le Python 3.
.py
extension. Le lanceur lui-même est installé dans C:\Windows
celui qui est déjà dans le PATH
. De cette façon, la PATH
variable n'a pas non plus besoin d'être modifiée.
Selon @alexander, vous pouvez créer un ensemble de liens symboliques comme ci-dessous. Placez-les quelque part qui est inclus dans votre chemin afin qu'ils puissent être facilement invoqués
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
Tant que c: \ bin ou l'endroit où vous les avez placés se trouve sur votre chemin, vous pouvez maintenant aller
> python25
mklink
est uniquement disponible nativement dans Windows Vista / 2008 +. Sur XP et Server 2003, un "hardlink" pourrait être créé à la place en utilisant fsutil hardlink create <new filename> <existing filename>
et en plaçant ou en déplaçant le <nouveau nom de fichier> quelque part dans votre chemin. Cependant, les liens physiques ne fonctionnent que sur le même lecteur.
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
python
commande serait déroutante pour le système d'exploitation.
Par exemple pour le type de version 3.6 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
.
py
exécutable - est-ce un ajout pour Windows uniquement? Est-il possible de l'intégrer dans un script de ligne de commande multiplateforme qui a en haut: #!/usr/bin/env python3
par exemple?
Lorsque vous installez Python, il n'écrasera pas les autres installations d'autres versions majeures. Ainsi, l'installation de Python 2.5.x n'écrasera pas Python 2.6.x, bien que l'installation de 2.6.6 écrasera 2.6.5.
Vous pouvez donc simplement l'installer. Ensuite, vous appelez la version Python souhaitée. Par exemple:
C:\Python2.5\Python.exe
pour Python 2.5 sous 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
sous Windows Unix (y compris Linux et OS X).
Lorsque vous installez sur Unix (y compris Linux et OS X), vous obtiendrez une python
commande générique installée, 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 appelleront explicitement /usr/local/bin/python2.5 ou quelque chose juste pour se protéger contre cela. Mais si vous ne voulez pas faire cela, et vous ne le faites 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 ne remplacera pas la python
commande.
Sur Windows, vous n'obtenez pas de python
commande globale pour autant que je sache, donc ce n'est pas un problème.
C:\Python2.5
ou C:\Python2.6
apparaît dans votre PATH
variable d'environnement, la version correspondante de Python deviendra la version par défaut sauf si vous la remplacez en spécifiant explicitement un chemin différent vers le .exe que vous souhaitez utiliser.
Je recommande fortement le projet pyenv-win .
Grâce au travail de kirankotari , nous avons maintenant une version Windows de pyenv.
Voici un hack rapide:
C:\Users\Your name
)name_of_your_shortcut.lnk
(j'utilise p27.lnk
)cp c: \ python27 \ bin \ python.exe comme python2.7.exe
cp c: \ python34 \ bin \ python.exe comme python3.4.exe
ils sont tous dans le chemin du système, choisissez la version que vous souhaitez 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.
>>>
Utilisation d'un fichier batch pour basculer, facile et efficace sous Windows 7. J'utilise ceci:
Dans la boîte de dialogue des variables d'environnement (C: \ Windows \ System32 \ SystemPropertiesAdvanced.exe),
Dans la section Variables utilisateur
ajouté% pathpython% à la variable d'environnement path
supprimé toutes les références aux chemins python
Dans la section Variables système
J'ai créé des fichiers batch pour chaque installation python (exemple pour 3.4 x64
Nom = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) juste pour se souvenir.
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 batch en mode administrateur.
!!!!! Les modifications sont effectives pour les fenêtres d'invite de commande SUIVANTES OUVERTES. !!!
Donc, j'ai un contrôle exact là-dessus.
Le moyen le plus simple d'exécuter plusieurs versions de python sur Windows est décrit ci-dessous comme suit: -
1) Téléchargez les dernières versions de python sur python.org/downloads en sélectionnant la version appropriée pour votre système.
2) Exécutez le programme d'installation et sélectionnez Ajouter 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 de 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 , cliquez simplement sur Suivant et attendez que le programme d'installation se termine.
3) Lorsque les deux installations sont terminées. Faites un clic droit sur mon ordinateur - Aller aux propriétés - Sélectionnez Paramètres système avancés - Aller aux variables d'environnement - Cliquez sur nouveau sous Variables système et ajouter une nouvelle variable système avec nom de variable comme PY_PYTHON et définissez cette valeur de la variable à 3 . Cliquez maintenant sur OK et vous devriez avoir terminé.
4) Maintenant, pour tester cela, ouvrez l' invite de commande . Une fois que vous y êtes, tapez python ou py , cela devrait ouvrir python3 .
5) Quittez maintenant python3 en tapant exit () . Maintenant, tapez py -2, cela 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 les étapes.
Merci.
Vous pouvez créer graphiquement différents environnements de développement python à partir d'Anaconda Navigator. J'ai eu le même problème en travaillant avec différentes versions de python, j'ai donc utilisé le navigateur anaconda pour créer différents environnements de développement python et utilisé différentes versions de python dans chaque environnement.
Voici la documentation d'aide pour cela.
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
En utilisant Rapid Environment Editor, vous pouvez pousser vers le haut le répertoire de l'installation Python souhaitée. Par exemple, pour démarrer python à partir du répertoire c: \ Python27, assurez-vous que le répertoire c: \ Python27 se trouve avant ou au-dessus du répertoire c: \ Python36 dans la variable d'environnement Path. D'après mon expérience, le premier exécutable python trouvé dans l'environnement Path est en cours d'exécution. Par exemple, MSYS2 est installé avec Python27 et depuis que j'ai ajouté C: \ MSYS2 au chemin avant C: \ Python36, le python.exe du dossier C: \ MSYS2 .... est en cours d'exécution.
Appelez simplement le bon exécutable
python
entrer dans le shell, essayez python2.5
ou python2.6
. Je ne suis pas un utilisateur de Windows, mais sur unix / usr / bin / python est généralement un alias de l'exécutable pleinement qualifié, je suppose que python dans Windows est installé de la même manière