142 votes

Comment définir la version par défaut de Python dans Windows ?

J'ai installé Python 2.6 y Python 3.1 sur Windows 7 et définir la variable d'environnement : path = d:\python2.6 .

Quand je cours python en cmd il affiche la version 2.6 de python, ce qui est ce que je veux !
Mais, lorsque j'ai écrit un script dans un fichier bat et que je l'ai exécuté, la version de python affichée était 3.1.

import sys
print (sys.version)

Qu'est-ce qui se passe ici ?

0 votes

Le code Python dans un fichier .bat ne sera pas interprété par Python, mais cmd.exe essaiera de l'interpréter, ce qui ne fonctionnera pas. Mettez le code Python dans un fichier .py et ensuite dans le fichier .bat mettez python scriptfile.py .

0 votes

Merci quand même ! J'ai trouvé le bon moyen, je modifie la valeur de l'élément de registre dans HKEY_LOCAL_CLASS \Applications\Python.exe\shell\open\command et ensuite cela fonctionne bien pour le fichier bat

153voto

Ceci si vous avez les deux versions installées.

Aller à Ce PCCliquez à droite surCliquez sur PropriétésParamètres avancés du système .

Vous verrez le Propriétés du système . De là, naviguez jusqu'au Avancé Onglet -> Cliquez sur Variables d'environnement .

Vous verrez une partie supérieure pour les variables de l'utilisateur et la partie inférieure pour les variables de l'utilisateur. moitié inférieure para Variables du système .

Vérifiez le Variables du système et double-cliquez sur le Chemin d'accès (pour modifier le chemin).

Vérifiez le chemin de Python (que vous souhaitez exécuter, c'est-à-dire Python 2.x ou 3.x) et le déplacer en haut de la page de la liste des chemins.

Redémarrer dans l'invite de commande, et maintenant lorsque vous vérifiez la version de Python, elle devrait afficher correctement la version requise.

106voto

Mark Tolonen Points 32702

Le programme d'installation de Python installe Python Launcher pour Windows . Ce programme ( py.exe ) est associé aux extensions de fichiers Python et recherche un commentaire "shebang" pour spécifier la version de python à exécuter. Cela permet à plusieurs versions de Python de coexister et permet aux scripts Python de spécifier explicitement la version à utiliser, si désiré. Si elle n'est pas spécifiée, le défaut est d'utiliser la dernière version de Python pour l'architecture actuelle (x86 ou x64). Cette valeur par défaut peut être personnalisée au moyen d'un paramètre py.ini ou PY_PYTHON variable d'environnement. Voir le docs pour plus de détails.

Les nouvelles versions de Python mettent à jour le lanceur. La dernière version a un py -0 pour lister les Pythons installés et indiquer la valeur par défaut actuelle.

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 sont associés aux fichiers Python.File type. La ligne de commande pour Python.File est le Lanceur Python, qui est installé dans le répertoire Windows puisqu'il est toujours dans le PATH.

Pour que l'association fonctionne, exécutez scripts à partir de la ligne de commande avec script.py pas "python script.py", sinon python sera exécuté à la place de py . En fait, il est préférable de supprimer les répertoires Python du PATH, de sorte que "python" n'exécute rien et que l'utilisation de la commande py .

py.exe peut également être exécuté avec des interrupteurs pour forcer une version de Python :

py -3 script.py       # select latest Python 3.X version to be used.
py -3.6 script.py     # select version 3.6 specifically.
py -3.9-32 script.py  # select version 3.9 32-bit specifically.
py -0                 # list installed Python versions (latest PyLauncher).

En outre, ajoutez .py;.pyw;.pyc;.pyo à la PATHEXT et la ligne de commande peut alors simplement être script sans extension.

77voto

Vlad Bezden Points 5024

L'exécution de la commande 'py' vous indiquera la version en cours d'exécution. Si vous utilisez actuellement la version 3.x et que vous souhaitez passer à la version 2.x, vous devrez utiliser le commutateur '-2'.

py -2

Si vous devez passer de python 2.x à python 3.x, vous devrez utiliser le commutateur '-3'.

py -3

Si vous souhaitez que Python 3.x soit la version par défaut, vous devez créer la variable d'environnement 'PY_PYTHON' et lui attribuer la valeur 3.

3 votes

Celui-ci est très utile, pas besoin d'éditer les clés de registre... en exécutant python 2 scripts en ligne de commande... on peut faire py -2 test.py ...alors par défaut python test.py s'il s'agit d'un code basé sur python 3

1 votes

PY_PYTHON n'a pas fonctionné, supprimer le chemin python (version indésirable) de la variable PATH a fonctionné pour moi.

27voto

AmiNadimi Points 1522

Si vous connaissez Environment variables et la variable système appelée path Si l'on considère que la version la plus récente d'un binaire est utilisée par défaut, on peut considérer qu'il s'agit de la version la plus récente.

Regardez l'image ci-dessous, j'ai 3 versions différentes de python mais python 3.8 sera utilisé par défaut puisqu'il est arrivé plus tôt que les deux autres. (Dans le cas de l'image mentionnée, plus tôt signifie plus haut !)

enter image description here

21voto

Darthfett Points 1645

Si vous êtes un utilisateur de Windows et que vous disposez d'une version de Python 3.3 ou supérieure, vous devriez disposer de l'interface suivante Python Launcher pour Windows installé sur votre machine, ce qui est la façon recommandée d'utiliser pour lancer tous les scripts python (quelle que soit la version de python que le scripts requiert).

En tant qu'utilisateur

  • Tapez toujours py au lieu de python lors de l'exécution d'un script à partir de la ligne de commande.

  • Configurez votre association de programmes par défaut de l'explorateur "Ouvrir avec..." avec C:\Windows\py.exe

  • Définissez l'association d'extension de fichier de la ligne de commande afin d'utiliser le lanceur Python pour Windows (ce qui rendra la saisie de la commande py facultatif) :

    ftype Python.File="C:\windows\py.exe" "%L" %*

    ftype Python.NoConFile="C:\Windows\pyw.exe" "%L" %*

  • Définissez votre version par défaut préférée en définissant le paramètre PY_PYTHON variable d'environnement (par exemple PY_PYTHON=3.7) . Vous pouvez voir quelle version de python est votre version par défaut en tapant py . Vous pouvez également régler PY_PYTHON3 o PY_PYTHON2 pour spécifier les versions par défaut de python 3 et python 2 (si vous en avez plusieurs).

  • Si vous avez besoin d'exécuter une version spécifique de python, vous pouvez utiliser py -M.m (où M est la version majeure et m est la version mineure). Par exemple, py -3 exécutera toute version installée de python 3.

  • Lister les versions installées de python avec py -0 .

En tant que rédacteur de script.

  • Incluez une ligne shebang en haut de votre script qui indique le numéro de la version majeure de python requise. Si le script n'est pas compatible avec une autre version mineure, incluez également le numéro de version mineure. Par exemple :

    #!/usr/bin/env python3

  • Vous pouvez également utiliser la ligne shebang pour indiquer un environnement virtuel (voir PEP 486 ci-dessous).


Voir aussi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X