Comment installer les deux Python 2.x et Python 3.X dans Windows 7
je fais la plupart de ma programmation en Python 3.x sur Windows 7, mais maintenant j'ai besoin d'utiliser la bibliothèque D'imagerie Python (PIL), ImageMagick, et wxPython, qui nécessitent tous Python 2.x.
puis-je avoir les deux Python 2.x et Python 3.x installé dans Windows 7? Quand j'exécute un script, Comment puis-je "choisir" quelle version de Python devrait l'exécuter? Les programmes mentionnés ci-dessus seront-ils capables de gérer plusieurs versions de Python installées à la fois? J'ai cherché pendant des heures et des heures comment faire cela en vain.
Merci.
19 réponses
j'ai trouvé que la façon formelle de le faire est la suivante:
il suffit d'installer deux (ou plus, en utilisant leurs installateurs) versions de Python sur Windows 7 (pour moi travailler avec 3.3 et 2.7).
suivez les instructions ci-dessous, en changeant les paramètres pour vos besoins.
créer la variable d'environnement suivante (par défaut en double clic):
Name: PY_PYTHON
Value: 3
pour lancer un script dans un interpréteur particulier, ajouter le shebang suivant (début du script):
#! python2
pour exécuter un script en utilisant un interpréteur spécifique, utilisez la commande rapide suivante:
> py -2 MyScript.py
pour lancer un interpréteur spécifique:
> py -2
pour lancer l'interpréteur par défaut (défini par la variable PY_PYTHON):
> py
ressources
Documentation: utilisant Python sur Windows
PEP 397 - lanceur Python Pour Windows
ce que j'ai fait c'est télécharger les 2.7.6 et 3.3.4. Python 3.3.4 a la possibilité d'ajouter le chemin dans la variable d'environnement ainsi que cela a été fait. Donc en gros, J'ai juste ajouté manuellement Python 2.7.6.
Comment...
-
Démarrer > dans le type de recherche dans l'environnement sélectionner "Modifier les variables d'environnement de votre compte"1
-
Faites défiler vers le bas Jusqu'à Path, sélectionnez path, cliquez sur edit.
-
Ajouter C:\Python27; donc, vous devriez avoir des chemins vers les deux versions de Python là, mais si vous ne le faites pas, vous pouvez facilement l'éditer pour que vous le fassiez..... C:\Python27;C:\Python33;
-
naviguez vers le dossier Python27 dans C:\ et renommez une copie de python.exe à python2.exe
-
naviguez vers le dossier Python34 dans C:\ et renommez une copie de python.exe à python3.EXE
-
Test: ouvrez l'invite commmand et tapez python2 ....BOOM! Python 2.7.6. la sortie out.
-
Test: ouvrez l'invite commmand et tapez python3 ....BOOM! Python 3.4.3. la sortie out.
Note: (pour ne pas casser les commandes pip aux étapes 4 et 5, conservez une copie de python.exe dans le même répertoire que le fichier renommé)
j'ai plusieurs versions dans windows. Je change juste le nom d'exe de la version à laquelle je ne manque pas.
python.exe --> python26.exe
pythonw.exe -- > pythonw26.exe
comme pour les installateurs de paquets, la plupart des installateurs exe vous permettent de choisir python install pour ajouter le paquet. Pour une installation manuelle, consultez 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
si vous utilisez Anaconda Python, vous pouvez facilement installer divers environnements.
dites que vous aviez installé Anaconda Python 2.7 et que vous vouliez un environnement python 3.4:
conda create -n py34 python=3.4 anaconda
puis activer l'environnement:
activate py34
Et inactive:
deactivate py34
(avec Linux, vous devez utiliser source activate py34
.)
Liens
version de départ 3.3 La version Windows dispose d'un lanceur Python, veuillez consulter la section 3.4. Python Lanceur de Windows
en fait je viens de penser à une solution intéressante. Alors que Windows ne vous permettra pas de facilement alias des programmes, vous pouvez à la place créer des fichiers batch renommés qui appelleront le programme courant.
au lieu de renommer l'exécutable qui cassera beaucoup de choses y compris pip, créez le fichier python2.chauve-souris dans le même répertoire que le python2.EXE. Ajouter ensuite la ligne suivante:
%~dp0python %*
que signifie cette syntaxe archaïque? Bien, c'est un script batch, (version Windows de bash). %~dp0 obtient le répertoire courant et %* passera juste tous les arguments à python qui ont été passés au script.
répéter pour python3.MTD
vous pouvez également faire la même chose pour pip et d'autres utilitaires, il suffit de remplacer le mot python dans le fichier par pip ou peu importe le nom du fichier. L'alias sera quel que soit le nom du fichier.
mieux que tout, Lorsqu'il est ajouté au chemin, Windows ignore l'extension ainsi tournant
python3
lancera la version python3 et la commande python2 lancera la version python2.
BTW, C'est la même technique que Spyder utilise pour s'ajouter au chemin sur Windows. :)
voici ce que vous pouvez faire:
Installer cmder . Ouvrez et utilisez Cmder comme vous le feriez avec votre terminal cmd. Utilisez la commande alias 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! ;- )
vous pouvez installer plusieurs versions de Python sur une seule machine, et pendant la configuration, vous pouvez choisir que l'une d'elles s'associe à des extensions de fichiers Python. Si vous installez des modules, il y aura différents paquets de configuration pour différentes versions, ou vous pouvez choisir la version que vous voulez cibler. Comme ils s'installent généralement eux-mêmes dans le répertoire site-packages de la version interpréteur, il ne devrait pas y avoir de conflits (mais je ne l'ai pas testé). Pour choisir quelle version de python, vous devrez spécifier manuellement le chemin vers l'interpréteur si ce n'est pas le chemin par défaut. Pour autant que je sache, ils partageraient les mêmes variables PATH et PYTHONPATH, ce qui pourrait être un problème.
Note: je lance Windows XP. Je n'ai aucune idée si tout cela change pour d'autres versions, mais je ne vois aucune raison que cela changerait.
ce que j'ai fait sur mon propre ordinateur windows où J'ai installé Python 2.7 et Python 3.4 est que j'ai écrit un simple .fichier bat dans le même répertoire que mon Python.EXE. Ils ressemblent à quelque chose comme,
cmd /k "c:\python27\python.exe" %*
le %* vous permet d'ajouter des arguments (fichiers Python) après. Je crois que / k garde l'invite ouverte une fois le script terminé. Alors je garde ça comme python27.bat alors je vais dans mon répertoire Python 3 et je fais un fichier bat là. Maintenant à mes ordres ligne je peux écrire
Python27 helloworld.py
ou
Python34 helloworld.py
et ils s'exécuteront dans leurs versions respectives de Python. Assurez-vous que c:\python27 et c:\python34 sont des variables de votre environnement.
j'ai eu ma réponse de ici
j'ai fait cela en trois étapes en suivant les instructions ici: tout est pris directement d'ici: http://ipython.readthedocs.io/en/stable/install/kernel_install.html . J'exécute actuellement Python 2.x sur Windows 8 et avoir Anaconda 4.2.13 installé.
1) Installez D'abord la dernière version de python:
conda create -n python3 python=3 ipykernel
2) ensuite activer python3
activate python3
3) Installer le noyau:
python -m ipykernel install --user
si vous avez Python 3 installé et que vous voulez installer 2, changez le 2 et le 3 ci-dessus. Lorsque vous ouvrez un nouveau carnet, Vous pouvez maintenant choisir entre Python 2 ou 3.
vérifiez les variables d'environnement de votre système après l'installation de Python, les répertoires python 3 devraient être d'abord dans votre variable PATH, puis python 2.
la variable path qui correspond la première est celle que Windows utilise.
Comme toujours py -2 lancera python2 dans ce scénario.
j'ai rencontré ce problème moi-même et j'ai fait mon lanceurs dans un .bat pour que vous puissiez choisir la version que vous voulez lancer.
le seul problème est votre .py doit être dans le dossier python, mais en tout cas 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 Python3
@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
Enregistrer comme .battez et suivez les instructions à l'intérieur.
pour installer et exécuter n'importe quelle version de Python dans le même système suivez mon guide ci-dessous.
par exemple, dites que vous voulez installer Python 2.x et Python 3.x sur le même système Windows.
-
installez leurs deux versions binaires où vous voulez.
- lorsqu'on leur demande de ne pas enregistrer leurs extensions de fichiers et
- ne pas ajoutez-les automatiquement à la variable D'environnement PATH
-
exécuter simplement la commande
python
l'exécutable qui est d'abord rencontré 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 taperezpython
. Les programmes python consécutifs (en augmentant l'ordre dans lequel leurs répertoires sont placés dans PATH) seront choisis comme suit:- py -2 pour le second
python
- py -3 pour le troisième
python
etc..
- py -2 pour le second
-
peu importe l'ordre de "pythons", vous pouvez:
- exécuter en Python 2.scripts x utilisant la commande: py -2 (Python 3.x fonctionnalité) (ie. le premier Python 2.x programme d'installation trouve dans votre CHEMIN sera sélectionné)
- exécuter en Python 3.x scripts utilisant la commande: or py -3 (ie. le premier Python 3.x programme d'installation trouve dans votre CHEMIN sera sélectionné)
dans mon exemple, J'ai d'abord installé Python 2.7.14 et python 3.5.3. Voici comment ma variable PATH commence avec:
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:\Program fichiers (x86)\Common Files \ Intel\Shared
...
notez que Python 2.7 est premier et Python 3.5 second.
- ainsi la commande
python
lancera python 2.7 (si Python 3.5 la même commande lancera Python 3.5). - Running
py -2
lance Python 2.7 (car il arrive que le second Python soit Python 3.5 qui est incompatible avecpy -2
). Lancerpy -3
lance Python 3.5 (parce que C'est Python 3.x) - si vous aviez un autre python plus tard sur votre chemin, vous lanceriez ainsi:
py -4
. Cela peut changer si / quand la version 4 de Python est publiée.
Maintenant py -4
ou py -5
etc. sur les sorties de mon système: Requested Python version (4) not installed
ou Requested Python version (5) not installed
etc.
j'espère que c'est assez clair.
Installer celui que vous utilisez le plus (3.3 dans mon cas) sur le dessus de l'autre. Ça forcera IDLE à utiliser celui que tu veux.
alternativement (du python3.3 README):
installation de versions multiples
sur les systèmes Unix et Mac si vous avez l'intention d'installer plusieurs versions de Python en utilisant le même préfixe d'installation (--prefix argument du script configure)) vous devez veiller à ce que votre premier exécutable python soit ils ne sont pas écrasés par la installation d'une version différente. Tous les fichiers et répertoires installés en utilisant "make altinstall" contient les versions major et minor et peut ainsi vivre side-by-side. "make install" crée aussi ${prefix} / bin / python3 qui se réfère à ${prefix} / bin / pythonX.Y. Si vous avez l'intention d'installer plusieurs versions en utilisant même préfixe vous devez décider quelle version (le cas échéant) est votre version "primaire". Installez cette version en utilisant "make install". Installer toutes les autres versions en utilisant "faire altinstall".
Par exemple, si vous souhaitez installer Python 2.6, 2.7 et 3.3 2.7 étant le version primaire, vous exécuteriez "make install" dans votre répertoire de construction 2.7 et de "faire altinstall" dans les autres.
j'ai juste eu à installer. Puis j'ai utilisé le Free (et portable) soft à http://defaultprogramseditor.com/ sous"Paramètres de type de fichier"/"menu contextuel"/recherche:" py", choisissez .PY et ajouté une commande' open 'pour les 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 je dois juste faire un clic droit sur le .fichier py et choisir quel IDLE Je veux utiliser. Peut faire la même chose avec des interprètes directs si vous préférez.
Ce que j'ai fait, personnellement, est très simple.
système: Windows 8.1 x86_64, Python x64 versions
- installez la dernière version de Python 3.x binaires et ajouter le répertoire au chemin (je m'enregistre aussi .extensions py pour fonctionner avec Python 3.x).
- installez la dernière version de Python 2.x binaires (ne pas enregistrer d'extensions avec elle et ne pas ajouter à path).
il semble que Python 3.x compatibilité avec Python 2.x si Python 2.x binaires sont installés.
Téléchargez les installateurs sur le site officiel de Python. Après les avoir installés comme ci-dessus, exécutez Python 3 normalement comme vous l'avez fait. Maintenant, pour le Python 2.les programmes x les exécutent comme tels: py -2 [command]
.
testé sur Python multiple 2.x seulement les programmes.
si vous ne pouvez rien obtenir d'autre à travailler, ouvrez un interpréteur dans la version que vous choisissez (je préfère utiliser iPython) et:
import subprocess
subprocess.call('python script.py -flags')
utilise la version python sous laquelle vous travaillez actuellement. Fonctionne très bien pour un seul script, mais va rapidement devenir hors de contrôle s'il ya beaucoup de scripts que vous exécutez, dans lequel cas, vous pouvez toujours faire un fichier batch avec tous ces appels à l'intérieur. Pas la réponse la plus élégante, mais ça marche.
y a-t-il un moyen de faire des alias pour différentes versions de python à la Linux?
ne fonctionne que si vous exécutez votre code dans votre Python IDE
J'ai installé Python 2.7 et Python 3.3 sur mon système d'exploitation windows. Si j'essaie de lancer un fichier, il s'ouvrira généralement sur l'IDE Python 2.7. Comment j'ai résolu ce problème, c'est quand j'ai choisi d'exécuter mon code sur Python 3.3, j'ai ouvert Python 3.3 IDLE(Python GUI), j'ai sélectionné le fichier, j'ai ouvert mon fichier avec IDLE et je l'ai enregistré. Puis, quand j'exécute mon code, il fonctionne au ralenti avec lequel je l'ai actuellement ouvert. Il fonctionne vice versa avec 2.7.
j'ai installé python 2.7.13 et python 3.6.1 sur windows 10pro et j'avais la même "erreur Fatale" quand j'ai essayé pip2 ou pip3.
Ce que j'ai fait pour corriger cela devait aller à l'emplacement de python.exe pour les fichiers python 2 et python 3 et créer une copie de chacun, j'ai ensuite renommé chaque copie en python2.exe et python3.exe dépend de la version python dans le dossier d'installation. J'avais donc dans chaque dossier d'installation de python à la fois un python.EXE et un python2.exe ou python3.exe dépend de la version python.
cela a résolu mon problème lorsque j'ai tapé pip2 ou pip3.