J'exécute Windows et le shell / OS exécute automatiquement Python en fonction des paramètres de registre lorsque vous exécutez un programme sur la ligne de commande. Cela sera-t-il interrompu si j'installe une version 2.x et 3.x de Python sur la même machine?
Je veux jouer avec Python 3 tout en étant capable d'exécuter des scripts 2.x sur la même machine.
/usr/bin/python
et Python 3.3 sur/usr/bin/python3
. Donne également des noms différents pour Pip et IPython de Python3. Très utile.Réponses:
La solution officielle pour la coexistence semble être le lanceur Python pour Windows , PEP 397 qui a été inclus dans Python 3.3.0 . L'installation des vidages de version
py.exe
et despyw.exe
lanceurs dans%SYSTEMROOT%
(C:\Windows
) qui est ensuite associé àpy
et despyw
scripts, respectivement.Pour utiliser le nouveau lanceur (sans y configurer manuellement vos propres associations), laissez l'option «Enregistrer les extensions» activée. Je ne sais pas trop pourquoi, mais sur ma machine, il a laissé Py 2.7 comme "défaut" (du lanceur).
L'exécution de scripts en les appelant directement à partir de la ligne de commande les acheminera via le lanceur et analysera le shebang (s'il existe). Vous pouvez également appeler explicitement le lanceur et l' utilisation des commutateurs:
py -3 mypy2script.py
.Toutes sortes de shebangs semblent fonctionner
#!C:\Python33\python.exe
#!python3
#!/usr/bin/env python3
ainsi que des abus gratuits
#! notepad.exe
la source
py.exe
devrait par défaut lancer Py3 sur Py2 lorsqu'aucune version n'est spécifiée et que le fichier ne contient pas de lignewhere.exe pip
. Je pense que le programme d'installation de Python 3 installe unpip3
alias pour son pip, mais vous pouvez également faire quelque chose commepy -3 -m pip install requests
je pense.Voici ma configuration:
C:\Python34
(le chemin d'installation par défaut) et remplacez python.exe par python3.exeC:\Python27\;C:\Python27\Scripts\;C:\Python34\;C:\Python34\Scripts\;
Maintenant, en ligne de commande, vous pouvez utiliser
python
pour 2.7 etpython3
pour 3.4.la source
pip
dans cli?pip
etpip3
respectivement.Vous pouvez avoir les deux installés.
Vous devriez écrire ceci devant votre script:
ou, éventuellement ...
Mettre à jour
Ma solution fonctionne parfaitement avec Unix, après une recherche rapide sur Google , voici la solution Windows:
Même chose: devant votre script.
la source
À partir de la version 3.3, Python a introduit l'utilitaire Launcher pour Windows https://docs.python.org/3/using/windows.html#python-launcher-for-windows .
Donc, pour pouvoir utiliser plusieurs versions de Python:
la source
py -3 filename.py
.J'utilise 2.5, 2.6 et 3.0 à partir du shell avec des scripts batch d'une ligne de la forme:
Nommez-les
pythonX.Y.bat
et placez-les quelque part dans votre PATH. Copiez le fichier de la version mineure préférée (c'est-à-dire la dernière) danspythonX.bat
. (Par exemplecopy python2.6.bat python2.bat
) Ensuite, vous pouvez utiliserpython2 file.py
de n'importe où.Cependant, cela n'aide ni même n'affecte la situation d'association de fichiers Windows. Pour cela, vous aurez besoin d'un programme de lancement qui lit la
#!
ligne, puis associez-le aux fichiers .py et .pyw.la source
Lorsque vous ajoutez les deux variables d'environnement , il y aura un un conflit parce que les deux exécutables ont le même nom:
python.exe
.Renommez simplement l'un d'entre eux. Dans mon cas, je l'ai renommé
python3.exe
.Donc, quand je l'exécute,
python
il s'exécute,python.exe
qui est de 2,7 et lorsque je l'exécute,python3
il s'exécutepython3.exe
qui est de 3,6la source
Fatal error in launcher: Unable to create process using '"c:\users\<my_username>\appdata\local\programs\python\python37-32\python.exe" "C:\Users\<my_username>\AppData\Local\Programs\Python\Python37-32\Scripts\pip.exe" '
.Voici...
winpylaunch.py
Je viens de frapper ceci en lisant ce fil (parce que c'est ce dont j'avais besoin aussi). J'ai Pythons 2.6.1 et 3.0.1 sur Ubuntu et Windows. Si cela ne fonctionne pas pour vous, postez des correctifs ici.
la source
sys.exit(process.returncode)
pour propager l'état de sortie du script appelé à l'appelant.Pour autant que je sache, Python s'exécute à partir de la ligne de commande en utilisant la variable PATH par opposition à un paramètre de registre.
Donc, si vous pointez vers la version correcte sur votre PATH, vous l'utiliserez. N'oubliez pas de redémarrer votre invite de commande pour utiliser les nouveaux paramètres PATH.
la source
L'installation Python associe normalement
.py
,.pyw
et les.pyc
fichiers à l'interpréteur Python. Vous pouvez donc exécuter un script Python soit en double-cliquant dessus dans l'Explorateur, soit en tapant son nom dans une fenêtre de ligne de commande (donc pas besoin de taperpython scriptname.py
,scriptname.py
ça fera juste ).Si vous souhaitez modifier manuellement cette association, vous pouvez modifier ces clés dans le registre Windows:
Lanceur Python
Les gens ont travaillé sur un lanceur Python pour Windows: un programme léger associé à
.py
et des.pyw
fichiers qui chercheraient une ligne "shebang" (similaire à Linux et al) sur la première ligne, et lancent Python 2.x ou 3.x comme obligatoire. Voir l'article de blog «Un lanceur Python pour Windows» pour plus de détails.la source
Essayez d'utiliser Anaconda.
En utilisant le concept d'environnements Anaconda, disons que vous avez besoin de Python 3 pour apprendre la programmation, mais que vous ne voulez pas effacer votre environnement Python 2.7 en mettant à jour Python. Vous pouvez créer et activer un nouvel environnement nommé "snakes" (ou ce que vous voulez), et installer la dernière version de Python 3 comme suit:
C'est plus simple qu'il n'y paraît, jetez un œil à la page d'introduction ici: Premiers pas avec Anaconda
Et puis pour gérer votre problème spécifique d'avoir les versions 2.x et 3.x exécutées côte à côte, voir: Gérer les versions de Python avec Anaconda
la source
Voici comment exécuter Python 2 et 3 sur la même machine
Le lanceur Python pour Windows été intégré à Python depuis la version 3.3, comme promis en 2011 lorsque le Stand alone a fait ses débuts:
Python Launcher pour Windows
la source
Voici un moyen soigné et propre d'installer Python2 et Python3 sur Windows.
https://datascience.com.co/how-to-install-python-2-7-and-3-6-in-windows-10-add-python-path-281e7eae62a
Mon cas: j'ai dû installer Apache cassandra. J'ai déjà installé Python3 dans mon lecteur D: . Avec beaucoup de travail de développement en cours, je ne voulais pas gâcher mon installation Python3. Et, j'avais besoin de Python2 uniquement pour Apache cassandra.
J'ai donc pris les mesures suivantes:
C:\Python27;C:\Python27\Scripts
)python2 --version
) et Python 3 (python --version
).Ainsi, mon installation Python3 est restée intacte.
la source
Je pense qu'il existe une option pour configurer l'association de fichiers Windows pour les fichiers .py dans le programme d'installation. Décochez-le et tout devrait aller bien.
Sinon, vous pouvez facilement réassocier les fichiers .py à la version précédente. Le moyen le plus simple est de faire un clic droit sur un fichier .py, sélectionnez «ouvrir avec» / «choisir un programme». Dans la boîte de dialogue qui apparaît, sélectionnez ou recherchez la version de python que vous souhaitez utiliser par défaut et cochez la case "Toujours utiliser ce programme pour ouvrir ce type de fichier".
la source
Vous devez vous assurer que la variable d'environnement PATH ne contient pas les deux fichiers python.exe (ajoutez celui que vous utilisez actuellement pour exécuter des scripts au quotidien), ou faites comme Kniht suggéré avec les fichiers de commandes. A part ça, je ne vois pas pourquoi.
PS: J'ai installé 2.6 comme mon python "principal" et 3.0 comme mon python "play" . Le 2.6 est inclus dans le PATH . Tout fonctionne bien.
la source
Avant d'installer courageusement les deux simultanément, j'avais tellement de questions. Si je donne python, ira-t-il à py3 quand je veux py2? pip / virtualenv se produira sous py2 / 3?
Cela semble très simple maintenant.
Installez simplement les deux à l'aveuglette. Assurez-vous d'avoir le bon type (x64 / x32). Pendant / après l'installation, assurez-vous d'ajouter le chemin d'accès à vos variables d'environnement .
Remplacez le x dans la commande ci-dessus pour définir le chemin.
Accédez ensuite aux deux dossiers.
Aller vers
et renommez pip en pip3.
Si pip3 existe déjà, supprimez le pip. Cela garantira que seul pip fonctionnera sous python2 . Vous pouvez vérifier par:
Si vous souhaitez utiliser pip avec python3, utilisez simplement
Vous pouvez également faire de même avec un fichier python et d'autres.
À votre santé!
la source
Facile, après avoir installé les deux versions de python, ajoutez les chemins aux variables d'environnement; voir . Accédez ensuite aux dossiers python 2 et python 3 et renommez-les respectivement en python2 et python3 comme indiqué et . Maintenant, dans cmd, tapez python2 ou python3 pour utiliser votre version requise, voir .
la source
Je suppose que oui, j'ai Python 2.4, 2.5 et 2.6 installés côte à côte sur le même ordinateur.
la source
Je ne fais que commencer avec python maintenant. Je lis le livre de Zed Shaw "Learn Python the Hard Way" qui nécessite la version 2.x de python mais je prends également une classe qui nécessite python 3.x
Voici donc ce que j'ai fait.
"[ENVIRONNEMENT] :: SETENVIRONMENTVARIABLE (" PATH "," $ ENV: PATH; C: \ PYTHON27 "," USER ")" (pas de guillemets extérieurs)
MAINTENANT pour python 3.x
Le téléchargement simple de python 3.x est fourni avec l'application python pour Windows. Alors épinglez simplement l'application Python pour Windows à votre barre des tâches ou créez un raccourci vers le bureau et vous avez terminé!
Ouvrez Python pour Windows pour 3.x
Ouvrez Powershell pour python 2.x
J'espère que ça aide!
la source
Hmm..Je l'ai fait pour le moment en téléchargeant simplement Python 3.6.5 pour Windows à https://www.python.org/downloads/release/python-365/ et je me suis assuré que le lanceur serait installé. Ensuite, j'ai suivi les instructions pour utiliser python 2 et python 3. Redémarrez l'invite de commande puis utilisez
py -2.7
pour utiliser Python 2 etpy
oupy -3.6
pour utiliser Python 3. Vous pouvez également utiliserpip2
pour Python 2pip
etpip
pour Python 3pip
.la source
J'ai eu le même problème lorsque je voulais utiliser python3 pour la plupart des travaux, mais IDA pro avait besoin de python2. SO, voici ce que j'ai fait.
J'ai d'abord créé 3 variables dans la variable d'environnement utilisateur comme suit:
Maintenant j'ai ajouté
à la variable PATH. Donc, en gros, ce que contient ce "PYTHON_ACTIVE" est le python actif. Nous modifions par programme le contenu de "PYTHON_ACTIVE" pour changer de version de python.
Voici l'exemple de script:
Ce script prend la version python en entrée et copie en conséquence HOME_PYTHON27 ou HOME_PYTHON38 dans PYTHON_ACTIVE. Changer ainsi la version globale de Python.
la source