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.
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