Comment configurer la version Python par défaut dans Windows

j'ai installé Python 2.6 et Python 3 sur Windows 7 et set environment variable: path = d:python2.6 .

quand j'exécute python dans cmd, il affiche la version python est 2.6, ce qui est vrai!

mais quand j'ai écrit un script dans un fichier bat et l'ai lancé, la version python affichée était 3.1.

Qu'est-ce qui ne va pas ici?

le code du script dans le fichier bat:

import sys
print (sys.version)
28
demandé sur ron4ex 2011-02-23 09:47:11

10 réponses

le dernier Python que vous installez qui s'enregistre dans l'environnement est le Python par défaut (Je ne me souviens pas de la formulation exacte dans l'installateur, mais c'est la première option). Il y a un certain nombre de paramètres donc pour s'assurer qu'ils sont tous enregistrés de manière cohérente, il suffit de réinstaller la version que vous voulez être la version par défaut.

si vous voulez installer une autre version mais que vous ne voulez pas qu'elle soit désactivée par défaut, il suffit de désactiver l'option d'enregistrement pendant l'installation.

Edit (19 Mai 2012)

à partir de Python 3.3, L'installateur de Python installe Python Launcher for Windows . Ce programme ( py.exe ) est associé aux extensions de fichiers Python et recherche un commentaire" shebang " pour spécifier la version python à exécuter. Cela permet à de nombreuses versions de Python de coexister et permet aux scripts Python de spécifier explicitement quelle version utiliser, si désiré. Si elle n'est pas spécifié, la valeur par défaut est D'utiliser le dernier Python 2.Version X pour l'architecture actuelle (x86 ou x64). Cette valeur par défaut peut être personnalisée au moyen d'une variable d'environnement py.ini ou PY_PYTHON . Voir le docs pour plus de détails.

assurez-vous que le Python 3.3 est le dernier Python installé qui s'est enregistré avec Windows. Si d'autres versions de Python sont installés plus tard pas pour les enregistrer avec l'environnement, donc le lanceur restera par défaut.

Voici comment vérifier si le lanceur est correctement enregistré depuis la console:

C:\>assoc .py
.py=Python.File

C:\>ftype Python.File
Python.File="C:\Windows\py.exe" "%1" %*

ci-dessus, .py les fichiers sont associés avec le type Python.File . La ligne de commande pour Python.File est le lanceur Python, qui est installé dans le répertoire Windows car il est toujours dans le chemin.

pour que l'association fonctionne, exécutez des scripts à partir de la ligne de commande avec script.py , pas "python " script.py", sinon python sera lancé au lieu de py . py.exe peut aussi être exécuté avec des commutateurs pour forcer une version Python:

py -3 script.py    # force latest Python 3.X version to be used.

de plus, ajouter .py;.pyw;.pyc;.pyo à la variable d'environnement PATHEXT et alors la ligne de commande peut simplement être script sans extension.

39
répondu Mark Tolonen 2013-05-19 20:24:41

exécuter la commande 'py' vous indiquera quelle version vous utilisez. Si vous exécutez actuellement 3.x et vous devez passer à 2.x, vous aurez besoin d'utiliser le commutateur '-2'

py -2

si vous devez passer de python 2.x à python 3.x vous devrez utiliser ' -3 'switch

py -3

si vous voulez avoir Python 3.x en tant que version par défaut, vous devrez créer la variable D'environnement 'PY_PYTHON' et définir sa valeur à 3.

21
répondu Vlad Bezden 2017-01-14 13:19:55

Voir ici pour le post original

;
; This is an example of how a Python Launcher .ini file is structured.
; If you want to use it, copy it to py.ini and make your changes there,
; after removing this header comment.
; This file will be removed on launcher uninstallation and overwritten
; when the launcher is installed or upgraded, so don't edit this file
; as your changes will be lost.
;
[defaults]
; Uncomment out the following line to have Python 3 be the default.
;python=3

[commands]
; Put in any customised commands you want here, in the format
; that's shown in the example line. You only need quotes around the
; executable if the path has spaces in it.
;
; You can then use e.g. #!myprog as your shebang line in scripts, and
; the launcher would invoke e.g.
;
; "c:\Program Files\MyCustom.exe" -a -b -c myscript.py
;
;myprog="c:\Program Files\MyCustom.exe" -a -b -c

Ainsi, sur mon système j'ai fait un py.ini fichier sous c:\windows\ où py.exe existe, avec le contenu suivant:

[defaults]
python=3

maintenant quand vous double-cliquez sur un .PY file, il sera exécuté par la nouvelle version par défaut. Maintenant j'utilise seulement le Shebang #! python2 sur mes vieux scripts.

11
répondu Ehsan Irannejad 2018-05-31 20:13:14
  1. modifier la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\python.exe\default
  2. définit le programme par défaut pour ouvrir .py aux fichiers python.exe
8
répondu cuble 2012-08-02 13:02:12

maintenant que Python 3.3 est sorti, il est plus facile d'utiliser le py.utilitaire exe décrit ici: http://www.python.org/dev/peps/pep-0397/

il vous permet de spécifier une version Python dans votre fichier script en utilisant une directive de style UNIX. Il existe également des options de ligne de commande et de variables d'environnement pour contrôler quelle version de Python est exécutée.

la façon la plus simple d'obtenir cet utilitaire est d'installer Python 3.3 ou plus tard.

2
répondu Gerald 2013-01-03 05:57:49

rien de ce qui précède n'a fonctionné, c'est ce qui a fonctionné pour moi:

ftype Python.File=C:\Path\to\python.exe "%1" %*

Cette commande doit être exécutée dans l'invite de Commande lancée en tant qu'administrateur

avertissement: même si le chemin dans cette commande est défini à python35, si vous avez installé python36 il va définir la valeur par défaut de python36. Pour empêcher cela, vous pouvez changer temporairement le nom du dossier de Python36 en xxPython36 , lancer la commande et ensuite supprimer le changement en Python 36 dossier.

2
répondu Enora 2016-11-30 06:30:44

cela a fonctionné pour moi:

passez à

Control Panel\System and Security\System

sélectionner

Advanced system settings from the left panel
from Advanced tab click on Environment Variables

dans la section variables système recherche pour ( créer si n'existe pas )

PYTHONPATH

et set

C:\Python27\;C:\Python27\Scripts;

ou votre version désirée

vous devez redémarrer CMD.

au cas où il ne fonctionne toujours pas, vous pourriez vouloir ne laissez dans la variable PATH que la version désirée.

2
répondu George B 2017-11-14 00:24:36

vérifier lequel du système utilise actuellement:

python --version

ajoute l'emplacement du dossier principal (par exemple c/ProgramFiles) et L'emplacement des Scripts (C/ProgramFiles/Scripts) aux Variables D'environnement du système. Ajouter les deux 3.version x et 2.X version

L'emplacement du chemin est classé à l'intérieur de la variable d'environnement. Si vous voulez utiliser Python 2.x a simplement mis le chemin de python 2.x d'abord, si vous voulez Python 3.x simplement mis 3.x premier

cela utilise python 2

1
répondu pranavhd 2018-04-06 09:06:11

utiliser la commande SET dans Windows CMD pour définir temporairement le python par défaut de la session courante.

SET PATH=C:\Program Files\Python 3.5
0
répondu ron4ex 2016-10-22 14:31:06

essayez de modifier le chemin d'accès dans le registre de windows (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment).

mise en garde: Ne pas briser le registre :)

-2
répondu phooji 2011-02-23 06:54:39