web-dev-qa-db-fra.com

Comment installer Python 2.x et Python 3.x sous Windows 7

Je fais la plupart de ma programmation dans Python 3.x sous Windows 7, mais je dois maintenant utiliser la Python Bibliothèque d'imagerie (PIL), ImageMagick et wxPython, qui nécessitent tous Python 2.x.

Puis-je avoir à la fois Python 2.x et Python 3.x installé dans Windows 7? Lorsque je lance un script, comment pourrais-je "choisir" la version de Python qui doit l'exécuter? Les programmes susmentionnés seront-ils capables de gérer plusieurs versions de Python installé à la fois? J'ai cherché des heures et des heures pour savoir comment faire cela en vain.

Merci.

216
dln385

J'ai trouvé que la manière formelle de le faire est la suivante:

Installez simplement deux versions (ou plus, à l'aide de leurs programmes d'installation) de Python sur Windows 7 (pour moi, travailler avec les versions 3.3 et 2.7).

Suivez les instructions ci-dessous, en modifiant les paramètres pour répondre à vos besoins.

Créez la variable d’environnement suivante (par défaut lors d’un double clic):

Name:  PY_PYTHON
Value: 3

Pour lancer un script dans un interpréteur particulier, ajoutez le Shebang (début du script) suivant:

#! python2

Pour exécuter un script à l'aide d'un interpréteur spécifique, utilisez la commande d'invite suivante:

> py -2 MyScript.py

Pour lancer un interprète spécifique:

> py -2

Pour lancer l'interpréteur par défaut (défini par la variable PY_PYTHON):

> py

Ressources

Documentation: tilisation de Python sur Windows

PEP 397 - Python lanceur pour Windows

145
Pedro Vagner

Ce que j'ai fait était de télécharger les versions 2.7.6 et 3.3.4. Python 3.3.4 a l'option d'ajouter le chemin d'accès dans la variable d'environnement, ce qui a été fait. Donc, fondamentalement, je viens d'ajouter manuellement Python 2.7.6.

Comment...

  1. Démarrer> dans le type de recherche dans l'environnement, sélectionnez "Modifier les variables d'environnement sur votre compte" 1

  2. Faites défiler jusqu'à Path, sélectionnez path, cliquez sur edit.

  3. Ajouter C:\Python27; vous devriez donc avoir des chemins vers les deux versions de Python ici, mais si vous ne le faites pas, vous pouvez facilement le modifier pour que vous le fassiez ..... C:\Python27; C:\Python33;

  4. Accédez au dossier Python27 dans C:\et renommez une copie de python.exe en python2.exe.

  5. Accédez au dossier Python34 dans C:\et renommez une copie de python.exe en python3.exe.

  6. Test: ouvrez l'invite de commande et tapez python2 .... BOOM! Python 2.7.6. sortez.

  7. Test: ouvrez l'invite de commande et tapez python3 .... BOOM! Python 3.4.3. sortez.

Remarque: (pour ne pas interrompre les commandes pip aux étapes 4 et 5, conservez la copie de python.exe dans le même répertoire que le fichier renommé).

71
user3458330

J'ai plusieurs versions dans Windows. Je viens de changer le nom d'exe de la version pour laquelle je ne suis pas par défaut.

python.exe -> python26.exe

pythonw.exe -> pythonw26.exe

Comme pour les installateurs de paquets, la plupart des installateurs exe vous permettent de choisir le python install pour ajouter le paquet aussi. Pour l’installation manuelle, utilisez l’option --prefix pour définir où le paquet doit être installé:

http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme

49
monkut

Si vous utilisez Anaconda Python, vous pouvez facilement installer différents environnements.

Supposons que vous avez installé Anaconda Python 2.7 et que vous souhaitiez un environnement python 3.4:

conda create -n py34 python=3.4 anaconda

Puis pour activer l'environnement:

activate py34

Et pour désactiver:

deactivate py34

(Sous Linux, vous devez utiliser source activate py34.)

Liens:

Télécharger Anaconda Python

Instructions pour les environnements

30
philshem

À partir de la version 3.3, la version Windows a le lanceur Python. Veuillez vous reporter à la section 3.4. Python Launcher for Windows

8
Dmitry Sobolev

Voici ce que vous pouvez faire:

Installez cmder . Ouvrez et utilisez Cmder comme vous le feriez avec votre terminal cmd. Utilisez l'alias de commande pour créer des alias de commande.

J'ai fait ce qui suit:

alias python2 = c:\python27\python.exe
alias python3 = c:\python34\python.exe

Et c'est tout! ;-)

7
user402429

En fait, je viens de penser à une solution intéressante. Bien que Windows ne vous permette pas d’aliaser facilement des programmes, vous pouvez créer des fichiers de commandes renommés qui appellent le programme actuel.

Au lieu de renommer l'exécutable, ce qui endommagerait beaucoup de choses, y compris pip, créez le fichier python2.bat dans le même répertoire que python2.exe. Ajoutez ensuite la ligne suivante:

%~dp0python %*

Que signifie cette syntaxe archaïque? Eh bien, c'est un script batch, (version Windows de bash). % ~ dp0 obtient le répertoire en cours et% * passera tous les arguments à python qui ont été passés au script.

Répéter pour python3.bat

Vous pouvez également faire la même chose pour pip et d'autres utilitaires, il suffit de remplacer Word python dans le fichier par pip ou le nom du fichier. L'alias sera quel que soit le nom du fichier.

Mieux encore, une fois ajouté à PATH, Windows ignore l’extension.

python3

Lance la version python3 et la commande python2 lance la version python2.

BTW, c’est la même technique que Spyder utilise pour s’ajouter au chemin sous Windows. :)

7
Skylion

Pour installer et exécuter n’importe quelle version de Python dans le même système, suivez mon guide ci-dessous.


Par exemple, disons que vous souhaitez installer Python 2.x et Python 3.x sur le même système Windows.

  1. Installez les deux versions binaires où vous voulez.

    • Lorsque vous y êtes invité, n'enregistrez pas leurs extensions de fichiers et
    • ne les ajoutez pas automatiquement à la variable d'environnement PATH
  2. En exécutant simplement la commande python, l'exécutable qui a été rencontré pour la première fois dans PATH sera choisi pour le lancement. En d'autres termes, ajoutez les répertoires Python manuellement. Celui que vous ajoutez en premier sera sélectionné lorsque vous tapez python. Les programmes python consécutifs (ordre croissant de placement de leurs répertoires dans PATH) seront choisis comme suit:

    • py -2 pour le second python
    • py -3 pour la troisième python etc ..
  3. Peu importe l'ordre des "pythons", vous pouvez:

    • exécutez les scripts Python 2.x à l'aide de la commande suivante: py -2 (fonctionnalité Python 3.x) (c'est-à-dire que le premier programme d'installation Python 2.x trouvé dans votre PATH sera sélectionné) )
    • exécutez les scripts Python 3.x à l'aide de la commande: ou py -3 (c'est-à-dire que le premier programme d'installation Python 3.x trouvé dans votre PATH sera sélectionné)

Dans mon exemple, j'ai Python 2.7.14 installé en premier et Python 3.5.3. Voici comment ma variable PATH commence par:

PATH = C:\Program Files\Microsoft MPI\Bin \; C:\Python27; C:\Program Files\Python_3.6\Scripts \; C:\Program Files\Python_3.6 \; C:\ProgramData\Oracle\Java\javapath; C:\Fichiers de programme (x86)\Fichiers communs\Intel\Shared

...

Notez que Python 2.7 est premier et Python 3.5 secondes.

  • Ainsi, l'exécution de la commande python lancera python 2.7 (si Python 3.5, la même commande lancerait Python 3.5).
  • Lancer py -2 lance Python 2.7 (car il arrive que le second Python soit Python 3.5 incompatible avec py -2). Lancer py -3 lance Python 3.5 (car c'est Python 3.x)
  • Si vous aviez un autre python plus tard dans votre chemin, vous le lanceriez comme suit: py -4. Cela peut changer si/quand Python version 4 est disponible.

Maintenant, py -4 ou py -5 etc. de mon système génère: Requested Python version (4) not installed ou Requested Python version (5) not installed etc.

Espérons que cela soit suffisamment clair.

5
Nikos

Vous pouvez installer plusieurs versions de Python sur un ordinateur et choisir, lors de l'installation, d'associer l'une d'elles aux extensions de fichier Python. Si vous installez des modules, il y aura différents packages d'installation pour différentes versions ou vous pourrez choisir la version que vous souhaitez cibler. Comme ils s’installent généralement dans le répertoire site-packages de la version interpréteur, il ne devrait pas y avoir de conflit (mais je n’ai pas testé cela). Pour choisir quelle version de python, vous devez spécifier manuellement le chemin d'accès à l'interpréteur s'il ne s'agit pas de celui par défaut. Autant que je sache, ils partageraient les mêmes variables PATH et PYTHONPATH, ce qui peut poser problème.

Remarque: j'utilise Windows XP. Je ne sais pas du tout si cela a changé pour les autres versions, mais je ne vois aucune raison qui le ferait.

3
li.davidm

Ce que j'ai fait sur mon propre ordinateur Windows sur lequel j'ai installé Python 2.7 et Python 3.4 est que j'ai écrit un fichier .bat simple dans le même répertoire que mes fichiers Python.exe. Ils ressemblent à quelque chose comme

cmd /k "c:\python27\python.exe" %*

Le% * vous permet d'ajouter des arguments (fichiers Python) par la suite. Je crois que/k garde l'invite ouverte après avoir exécuté le script. Ensuite, je l’enregistre sous le nom python27.bat. Ensuite, je vais dans mon répertoire Python 3 et crée un fichier bat. Maintenant, dans ma ligne de commande, je peux écrire

Python27 helloworld.py

Ou

Python34 helloworld.py

Et ils fonctionneront dans leurs versions respectives de Python. Assurez-vous que c:\python27 et c:\python34 sont en vos variables d'environnement.

J'ai eu ma réponse de ici

3
Bryan Kimani

Je l'ai fait en trois étapes en suivant les instructions suivantes: Tout cela est pris directement à partir d'ici: http://ipython.readthedocs.io/fr/stable/install/kernel_install.html . J'utilise actuellement Python 2.x sous Windows 8 et Anaconda 4.2.13 est installé.

1) Installez d’abord la dernière version de python:

conda create -n python3 python=3 ipykernel

2) Activer ensuite python3

activate python3

3) Installez le noyau:

python -m ipykernel install --user

Si vous avez Python 3 installé et souhaitez installer 2, basculez le 2 et le 3 ci-dessus. Lorsque vous ouvrez un nouveau bloc-notes, vous pouvez maintenant choisir entre Python 2 ou 3.

2
Moiz Kapadia

Vérifiez les variables d'environnement de votre système après avoir installé Python. Les répertoires de python 3 doivent figurer en premier dans votre variable PATH, puis de python 2.

La variable de chemin correspondant en premier est celle utilisée par Windows.

Comme toujours, py -2 lancera python2 dans ce scénario.

1
Spitfire19

J'ai rencontré ce problème moi-même et j'ai créé mes lanceurs dans un fichier .bat afin que vous puissiez choisir la version que vous souhaitez lancer.

Le seul problème est que votre fichier .py doit se trouver dans le dossier python, mais voici le code:

Pour Python2

@echo off
title Python2 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 23, 24, 25, 26)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
path = %PATH%;C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

Pour Python

@echo off
title Python3 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 31, 32, 33, 34)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
cls
set path = %PATH%:C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

Enregistrez-les sous .bat et suivez les instructions à l'intérieur.

1
KinDa

Installez celui que vous utilisez le plus (3,3 dans mon cas) au-dessus de l'autre. Cela obligera IDLE à utiliser celui que vous voulez.

Alternativement (à partir du fichier README de python3.3):

Installer plusieurs versions

Sur les systèmes Unix et Mac, si vous souhaitez installer plusieurs versions de Python en utilisant le même préfixe d'installation (argument --prefix dans le script de configuration), vous devez veiller à ce que votre exécutable primaire python n'est pas écrasé par l'installation d'une version différente. Tous les fichiers et répertoires installés à l'aide de "make altinstall" contiennent les versions majeure et mineure et peuvent donc vivre côte à côte. "make install" crée également $ {prefix}/bin/python3 qui fait référence à $ {prefix} /bin/pythonX.Y. Si vous avez l'intention d'installer plusieurs versions avec le même préfixe, vous devez déterminer quelle version (le cas échéant) correspond à votre version "principale". Installez cette version en utilisant "make install". Installez toutes les autres versions en utilisant "make altinstall".

Par exemple, si vous voulez installer Python 2.6, 2.7 et 3.3 avec la version primaire 2.7, vous exécuterez "make install" dans votre répertoire de construction 2.7 et "make altinstall" dans les autres.

0
abudhabikid

Ce que j'ai personnellement fait est très simple.

Système: Windows 8.1 x86_64, Python versions x64

  1. Installez les derniers fichiers binaires Python 3.x et ajoutez le répertoire dans chemin (j'inscris également les extensions .py à exécuter avec Python 3.x).
  2. Installez les derniers fichiers binaires Python 2.x (sans enregistrer les extensions et ne pas ajouter de chemin).

Il semble que Python 3.x offre une compatibilité ascendante avec les binaires Python 2.x if Python 2.x sont installés.

Téléchargez les programmes d'installation à partir du site Web officiel Python. Après les avoir installés comme ci-dessus, exécutez Python 3 normalement comme vous le faisiez. Maintenant, pour les programmes Python 2.x, exécutez-les en tant que tels: py -2 [command].

Testé sur plusieurs programmes Python 2.x uniquement.

0
Nikos

Il me suffisait de les installer. Ensuite, j'ai utilisé le logiciel gratuit (et portable) sur http://defaultprogramseditor.com/ sous "Paramètres de type de fichier"/"Menu contextuel"/recherche: "py", choisi le fichier .py et ajouté une commande 'open' pour le 2 IDLE en copiant la commande existante nommée 'open with IDLE, en changeant les noms en IDLE 3.4.1/2.7.8 et en remplaçant les numéros de fichiers de leurs versions respectives dans le chemin du programme. Maintenant, il suffit de cliquer avec le bouton droit sur le fichier .py et de choisir quel IDLE je veux utiliser. Peut faire la même chose avec des interprètes directs si vous préférez.

0
wheya