J'avais l'habitude d'utiliser le shebang
#!/usr/bin/env python
Quand est-il préférable d'utiliser
#!/usr/bin/python
Quelle est la différence exacte entre eux ?
J'avais l'habitude d'utiliser le shebang
#!/usr/bin/env python
Quand est-il préférable d'utiliser
#!/usr/bin/python
Quelle est la différence exacte entre eux ?
#!/usr/bin/python
est codé en dur pour toujours exécuter /usr/bin/python
alors que #!/usr/bin/env python
s'exécutera quel que soit le python
serait par défaut dans votre environnement actuel (il prendra en compte par exemple $PATH
vous pouvez vérifier quel interpréteur python sera utilisé avec which python
).
La deuxième voie ( #!/usr/bin/env python
) est préférable, car il ne dépend pas d'une installation particulière. Elle fonctionnera par exemple avec virtualenv
des configurations ou des systèmes où il n'y a pas /usr/bin/python
mais seulement par exemple /usr/local/bin/python
.
Indirection par env
fonctionne également lorsque /usr/bin/python
existe, mais n'est pas un véritable exécutable (par exemple, il peut s'agir d'un script de lancement)
Cela implique-t-il qu'il est préférable d'utiliser #!/usr/bin/env perl
sera plus polyvalent que l'habituel "shebang". #!/bin/perl
? Il me semble que les gens utilisent généralement #!/bin/perl
en perl, mais #!/usr/bin/env python
pour python. Pourquoi ?
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.
0 votes
Avez-vous essayé
man env
pour voir ce que leenv
L'application le fait ?7 votes
Duplicata possible de Pourquoi les gens écrivent-ils #!/usr/bin/env python sur la première ligne d'un script Python ?
1 votes
@S.Lott je suppose
env
était un répertoire, pas un exécutable.1 votes
Duplicata possible de Dois-je mettre # ! (shebang) dans les scripts Python, et quelle forme doit-il prendre ?