[Windows][Linux]Comment lancer un script python de n'importe où ?

Le problème exposé dans ce sujet a été résolu.

Salut :)

Je souhaiterai pouvoir lancer des scripts python de n’importe où sans avoir à préciser le path du script. Parce qu’un exemple vaut mieux qu’un long discours :

Aujourd’hui je fais comme ça : python /path/vers/mon/script.py

et je souhaiterais faire quelque chose comme ça : python script.py

J’aimerai pouvoir le faire sous Windows et également sous Linux (Ubuntu) :pirate:

Merci d’avance

Salut,

Sous Linux, il te suffit d’ajouter ce commentaire au début de ton script.

1
#! /usr/bin/python

Cela indique que ce fichier, une fois exécuté, sera passé en argument de la commande /usr/bin/python (ou un autre chemin suivant où python est installé chez toi). Tu n’as alors plus qu’à rendre ton fichier exécutable et à l’exécuter comme suit.

1
$ ./ton_script

Si tu souhaites pouvoir l’appeler sans préciser son chemin, il te suffit de le placer dans un répertoire compris dans ta variable d’environnement PATH ou d’en ajouter un au sein de celle-ci comme $HOME/bin ou $HOME/.local/bin.

+0 -0

Sous Windows, c’est la même idée.

PATH Windows

Sinon, le shebang ne marche pas sous Windows, il faudra compter sur l’association de fichier.

+0 -0

Sous Windows le shebang fonctionne depuis Python 3.3 grâce au lanceur py.exe et pyw.exe qui s’installent par défaut avec l’installeur de Python.

https://docs.python.org/3/using/windows.html#python-launcher-for-windows

Manipuler la variable d’environnement Path n’est pas sans danger, bien que ce ne soit pas non-plus très difficile. En tout cas ce n’est plus nécessaire désormais, donc autant l’éviter et laisser le lanceur se charger de l’exécution des scripts avec le bon interpréteur.

La documentation explique en détail et de manière exhaustive comment utiliser Python selon le système d’exploitation : https://docs.python.org/3/using/

Mes scripts .sh sont déjà dans le répertoire /bin, mes scripts pythons vont pouvoir les rejoindre :)

Tripper

J’ai sauté au plafond :D . Pour les scripts « installés » à la main comme ce que tu décris, utilise plutôt /usr/local/bin/, quitte à l’ajouter à ton PATH si il n’y est pas (généralement il y est).

Si c’est uniquement pour toi et non les autres utilisateurs ou le système, je conseille plutôt ~/.local/bin, et là il faut évidemment l’ajouter au PATH.

+3 -0

Mes scripts .sh sont déjà dans le répertoire /bin, mes scripts pythons vont pouvoir les rejoindre :)

Tripper

J’ai sauté au plafond :D . Pour les scripts « installés » à la main comme ce que tu décris, utilise plutôt /usr/local/bin/, quitte à l’ajouter à ton PATH si il n’y est pas (généralement il y est).

Si c’est uniquement pour toi et non les autres utilisateurs ou le système, je conseille plutôt ~/.local/bin, et là il faut évidemment l’ajouter au PATH.

Breizh

Pas d’inquiétudes !

J’ai écris rapidement /bin mais je pensais en fait au répertoire ~/bin qui est déjà dans le PATH par défaut. Je pense que c’est équivalent au répertoire ~/.local/bin. En tout cas j’avais lu sur internet que le répertoire ~/bin était très bien pour les scripts perso.

J’essaye demain de modifier le PATH Windows pour y ajouter mon dossier de script, mais ça ne devrait pas poser de soucis, merci !

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte