61 votes

Pourquoi Python sous Linux nécessite-t-il la ligne #!/usr/bin/Python ?

Question assez simple : Sous Linux, pourquoi Python requiert-il la ligne

#!/usr/bin/python

au début d'un fichier Python, puisque Windows ne le fait pas ?

Qu'est-ce qu'il fait ? Parce que la description "Liens vers Python" est un peu vague...

1voto

orvi Points 363

Si vous avez plusieurs versions de Python installées, /usr/bin/env s'assurera que l'interpréteur utilisé est le premier sur la liste de l'environnement $PATH . L'alternative serait de coder en dur quelque chose comme #!/usr/bin/python ;

Sous Unix, un fichier exécutable destiné à être interprété peut indiquer l'interpréteur à utiliser grâce à l'attribut #! au début de la première ligne, suivi de l'interpréteur (et de tous les drapeaux dont il peut avoir besoin).

Cette règle ne s'applique qu'aux systèmes basés sur UNIX.

0voto

kgriffs Points 1839

Utile pour les systèmes d'exploitation comme Linux, où Python 2.x est toujours la norme, mais où la plupart des gens téléchargent également la version 3.x.

2.x s'exécuterait par défaut. Donc mon code 3.x, je le préfixe avec

#!/usr/bin/env python3

pour que la version 3.x exécute le code. Je peux même spécifier jusqu'à la révision mineure (Python 3.x.y.z) si je souhaite avoir des versions bêta ou des versions légèrement plus anciennes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X