Je fais la plupart de ma programmation en Python 3.x sur Windows 7, mais maintenant je dois utiliser la bibliothèque d'imagerie Python (PIL), ImageMagick et wxPython, qui nécessitent tous Python 2.x.
Puis-je avoir installé Python 2.x et Python 3.x dans Windows 7? Lorsque j'exécute un script, comment "choisir" quelle version de Python doit l'exécuter? Les programmes susmentionnés pourront-ils 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.
Réponses:
J'ai trouvé que la façon formelle de procéder est la suivante:
Installez simplement deux (ou plus, en utilisant leurs installateurs) versions de Python sur Windows 7 (pour moi, travaillez avec 3.3 et 2.7).
Suivez les instructions ci-dessous, en modifiant les paramètres de vos besoins.
Créez la variable d'environnement suivante (par défaut lors d'un double clic):
Pour lancer un script dans un interpréteur particulier, ajoutez le shebang suivant (début du script):
Pour exécuter un script à l'aide d'un interpréteur spécifique, utilisez la commande d'invite suivante:
Pour lancer un interpréteur spécifique:
Pour lancer l'interpréteur par défaut (défini par la variable PY_PYTHON):
Ressources
Documentation: Utilisation de Python sous Windows
PEP 397 - Lanceur Python pour Windows
la source
c:\python35;c:\python35\scripts;c:\python27\scripts;
. Cela permet d'utiliserpip2
/pip3
, eteasy_install-2.7
/easy_install-3.5
au lieu depip
eteasy_install
.py -m pip install ...
. Ajoutez des commutateurs aprèspy
pour choisir le Python sous lequel exécuter pip comme ci-dessus.Ce que j'ai fait, c'est télécharger les versions 2.7.6 et 3.3.4. Python 3.3.4 a la possibilité de lui ajouter le chemin dans la variable d'environnement pour que cela soit fait. Donc, fondamentalement, je viens d'ajouter manuellement Python 2.7.6.
Comment...
Démarrer> dans le type de recherche dans l'environnement, sélectionnez "Modifier les variables d'environnement sur votre compte" 1
Faites défiler jusqu'à Chemin, sélectionnez le chemin, cliquez sur modifier.
Ajoutez C: \ Python27; vous devriez donc y avoir des chemins vers les deux versions de Python, mais si vous ne le faites pas, vous pouvez facilement le modifier pour que vous le fassiez ..... C: \ Python27; C: \ Python33;
Accédez au dossier Python27 dans C: \ et renommez une copie de python.exe en python2.exe
Accédez au dossier Python34 dans C: \ et renommez une copie de python.exe en python3.exe
Test: ouvrez l'invite de commande et tapez python2 .... BOOM! Python 2.7.6. sortir.
Test: ouvrez l'invite de commande et tapez python3 .... BOOM! Python 3.4.3. sortir.
Remarque: (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é)
la source
J'ai plusieurs versions dans Windows. Je change juste le nom de l'exe de la version à laquelle je ne fais pas défaut.
En ce qui concerne les installateurs de packages, la plupart des installateurs exe vous permettent de choisir l'installation de python pour ajouter également le package. Pour une installation manuelle, consultez l'option --prefix pour définir où le package doit être installé:
http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme
la source
pip3
etpip3.4
. (il l'inclut également en tant quepip
, mais je pense que la suppression devrait résoudre tous les conflits avec python2). En fait, je n'en ai pasC:\Python34\Scripts
dans monPath
, donc je n'ai eu aucun problème de pip ...Si vous utilisez Anaconda Python, vous pouvez facilement installer divers environnements.
Imaginons que vous ayez installé Anaconda Python 2.7 et que vous vouliez un environnement python 3.4:
Puis pour activer l'environnement:
Et pour désactiver:
(Avec Linux, vous devriez utiliser
source activate py34
.)Liens:
Télécharger Anaconda Python
Instructions pour les environnements
la source
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.
Installez les deux versions binaires où vous le souhaitez.
Exécuter simplement la commande que
python
l'exécutable rencontré pour la première fois dans PATH sera choisi pour le lancement. En d'autres termes, ajoutez manuellement les répertoires Python. Celui que vous ajoutez en premier sera sélectionné lorsque vous tapezpython
. Les programmes python consécutifs (ordre croissant de placement de leurs répertoires dans PATH) seront choisis comme suit:python
python
etc.Peu importe l'ordre des "pythons", vous pouvez:
Dans mon exemple, j'ai Python 2.7.14 installé en premier et Python 3.5.3. Voici comment commence ma variable PATH:
CHEMIN = 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 Files (x86) \ Common Files \ Intel \ Shared
...
Notez que Python 2.7 est le premier et Python 3.5 le second.
python
commande lancera donc python 2.7 (si Python 3.5 la même commande lancerait Python 3.5).py -2
lance Python 2.7 (car il arrive que le second Python soit Python 3.5 qui est incompatible avecpy -2
). L'exécutionpy -3
lance Python 3.5 (car c'est Python 3.x)py -4
. Cela peut changer si / lorsque la version 4 de Python est publiée.Maintenant
py -4
oupy -5
etc. sur les sorties de mon système:Requested Python version (4) not installed
ouRequested Python version (5) not installed
etc.J'espère que c'est assez clair.
la source
pip
. Pour tout autre python installé, vous devez spécifier manuellement le chemin, c'est-à-dire.C:\Python27\Scripts\pip.py [parameters]
. (Bien sûr, comme raccourci, vous pouvez mettre n'importe quel exe que vous voulez dans une variable d'environnement.)À partir de la version 3.3, la version Windows possède un lanceur Python, veuillez consulter la section 3.4. Lanceur Python pour Windows
la source
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:
Et c'est tout! ;-)
la source
set-alias python2 c:\python27\python.exe
En fait, je viens de penser à une solution intéressante. Bien que Windows ne vous permette pas d'alias facilement des programmes, vous pouvez à la place créer des fichiers batch renommés qui appelleront le programme actuel.
Au lieu de renommer l'exécutable qui cassera 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:
Que signifie cette syntaxe archaïque? Eh 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étez l'opération pour python3.bat
Vous pouvez également faire de même pour pip et d'autres utilitaires, il suffit de remplacer le mot python dans le fichier par pip ou quel que soit le nom de fichier. L'alias sera le nom du fichier.
Mieux encore, lorsqu'il est ajouté au PATH, Windows ignore l'extension afin de fonctionner
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. :)
la source
Vous pouvez installer plusieurs versions de Python sur une seule machine, et pendant l'installation, vous pouvez choisir que l'une d'elles s'associe aux extensions de fichier Python. Si vous installez des modules, il y aura différents packages d'installation pour différentes versions, ou vous pouvez choisir la version que vous souhaitez cibler. Puisqu'ils s'installent généralement dans le répertoire site-packages de la version de l'interpréteur, il ne devrait pas y avoir de conflits (mais je n'ai pas testé cela). Pour choisir la version de python, vous devez spécifier manuellement le chemin d'accès à l'interpréteur s'il n'est pas celui par défaut. Autant que je sache, ils partageraient les mêmes variables PATH et PYTHONPATH, ce qui peut être un problème.
Remarque: je lance Windows XP. Je n'ai aucune idée si l'un de ces changements pour les autres versions, mais je ne vois aucune raison pour que ce soit le cas.
la source
Ce que j'ai fait sur mon propre ordinateur Windows où j'ai installé Python 2.7 et Python 3.4, c'est que j'ai écrit un simple fichier .bat dans le même répertoire que mes fichiers Python.exe. Ils ressemblent à quelque chose,
Le% * vous permet d'ajouter des arguments (fichiers Python) par la suite. Je pense que / k garde l'invite ouverte après avoir terminé d'exécuter le script. Ensuite, je l'enregistre en tant que python27.bat Ensuite, je vais dans mon répertoire Python 3 et y crée un fichier bat. Maintenant, dans ma ligne de commande, je peux écrire
Ou
Et ils fonctionneront dans leurs versions respectives de Python. Assurez-vous que c: \ python27 et c: \ python34 sont dans vos variables d'environnement.
J'ai ma réponse d' ici
la source
J'ai fait cela en trois étapes en suivant les instructions ici: Tout cela est pris directement à partir d'ici: http://ipython.readthedocs.io/en/stable/install/kernel_install.html . J'exécute actuellement Python 2.x sur Windows 8 et j'ai installé Anaconda 4.2.13.
1) Installez d'abord la dernière version de python:
2) Ensuite, activez python3
3) Installez le noyau:
Si vous avez Python 3 installé et que vous souhaitez installer 2, changez les 2 et les 3 ci-dessus. Lorsque vous ouvrez un nouveau bloc-notes, vous pouvez désormais choisir entre Python 2 ou 3.
la source
Vérifiez vos variables d'environnement système après l'installation de Python, les répertoires de python 3 doivent être d'abord dans votre variable PATH, puis python 2.
La variable de chemin qui correspond en premier est celle que Windows utilise.
Comme toujours, py -2 lancera python2 dans ce scénario.
la source
J'ai moi-même rencontré ce problème et j'ai créé mes lanceurs dans un .bat afin que vous puissiez choisir la version que vous souhaitez lancer.
Le seul problème est que votre .py doit être dans le dossier python, mais de toute façon voici le code:
Pour Python2
Pour Python3
Enregistrez-les sous .bat et suivez les instructions à l'intérieur.
la source
Installez celui que vous utilisez le plus (3,3 dans mon cas) par-dessus l'autre. Cela forcera IDLE à utiliser celui que vous voulez.
Alternativement (à partir du fichier LISEZMOI python3.3):
Installation de plusieurs versions
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 (argument --prefix du script de configuration), vous devez vous assurer que votre exécutable python principal n'est pas remplacé par l'installation d'une version différente. Tous les fichiers et répertoires installés à l'aide de "make altinstall" contiennent la version principale et la version mineure et peuvent ainsi 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 en utilisant le même préfixe, vous devez décider quelle version (le cas échéant) est votre version "principale". Installez cette version en utilisant "make install". Installez toutes les autres versions en utilisant "make altinstall".
Par exemple, si vous souhaitez installer Python 2.6, 2.7 et 3.3 avec 2.7 comme version principale, vous exécuterez "make install" dans votre répertoire de compilation 2.7 et "make altinstall" dans les autres.
la source
Je devais juste 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", j'ai choisi le fichier .py et ajouté une commande "ouverte" 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, je dois juste cliquer avec le bouton droit sur le fichier .py et choisir quel IDLE je veux utiliser. Peut faire de même avec des interprètes directs si vous préférez.
la source
Fonctionne uniquement si vous exécutez votre code dans votre IDE Python
J'ai Python 2.7 et Python 3.3 installés 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'ouvre python 3.3 IDLE (GUI Python), sélectionne un fichier, ouvre mon fichier avec IDLE et l'enregistre. Ensuite, lorsque j'exécute mon code, il s'exécute sur l'IDLE avec lequel je l'ouvre actuellement. Cela fonctionne vice versa avec 2.7.
la source
J'ai installé à la fois python 2.7.13 et python 3.6.1 sur windows 10pro et j'obtenais la même "erreur fatale" lorsque j'ai essayé pip2 ou pip3.
Ce que j'ai fait pour corriger cela était d'aller à l'emplacement de python.exe pour les fichiers python 2 et python 3 et de créer une copie de chacun, j'ai ensuite renommé chaque copie en python2.exe et python3.exe en fonction de la version de python dans le dossier d'installation. J'ai donc eu dans chaque dossier d'installation de python à la fois un fichier python.exe et un python2.exe ou python3.exe selon la version de python.
Cela a résolu mon problème lorsque j'ai tapé pip2 ou pip3.
la source
Si vous ne pouvez rien faire d'autre, ouvrez un interpréteur dans la version que vous choisissez (je préfère utiliser iPython) et:
Cela utilise la version python sous laquelle vous travaillez actuellement. Fonctionne très bien pour un seul script, mais deviendra rapidement incontrôlable s'il y a beaucoup de scripts que vous exécutez, auquel cas vous pouvez toujours créer un fichier batch avec tous ces appels à l'intérieur. Pas la réponse la plus élégante, mais ça marche.
Existe-t-il un moyen de créer des alias pour différentes versions de python à la Linux?
la source