2014-10-19 23:38:42 +0000 2014-10-19 23:38:42 +0000
41
41
Advertisement

Exécuter des scripts Python sans invoquer explicitement `python`.

Advertisement

J'utilise Debian Linux.

Je me demandais s'il y avait un moyen de configurer pour exécuter tous les scripts Python dans le terminal en tapant script.py (au lieu de python script.py).

Advertisement
Advertisement

Réponses (4)

60
60
60
2014-10-19 23:47:44 +0000

Vous devez faire deux choses :

  • Assurez-vous que le fichier est exécutable : chmod +x script.py
  • Utilisez un shebang pour indiquer au noyau quel interpréteur utiliser. La ligne supérieure du script devrait se lire :

Vous pouvez maintenant taper :

./script.py

si le script se trouve dans votre répertoire actuel, ou

script.py

si l'emplacement du script se trouve dans votre PATH, ou

path/to/script.py

autrement.

33
33
33
2014-10-19 23:58:24 +0000

Sous linux, vous pouvez simplement utiliser le hashbang (alias shebang). Ajoutez la ligne

#!/usr/bin/python

si vous voulez exécuter l'interpréteur python par défaut.

#!/path/to/python[x.x]

pour utiliser une version spécifique, ou

#!/usr/bin/env python

si vous voulez que l'environnement trouve python pour vous.

Vous devrez également rendre le script exécutable

chmod +x script[.py]
3
Advertisement
3
3
2017-10-31 18:09:01 +0000
Advertisement

Utilisation :

#!/usr/bin/env python

Cela garantira que le python que l'utilisateur s'attend à utiliser sera celui qui exécute le script. Ceci est particulièrement important si l'utilisateur utilise virtualenv pour disposer d'une version spécifique de python dans un environnement donné.

0
0
0
2018-04-08 19:22:47 +0000

Utilisez une ligne shebang en haut de votre script comme ci-dessous :

!/usr/bin/python

Mettez à jour la version de python appropriée sur laquelle vous voulez exécuter le script. Par exemple, pour python 3.6 son

!/usr/bin/python3.6

pour l'interpréteur par défaut

!/usr/bin/python

Note : Assurez-vous que le script a les droits d'exécution.

Advertisement

Questions connexes

6
10
5
37
31
Advertisement
Advertisement