it-swarm.com.de

Richtiges Shebang für Python script

Normalerweise verwende ich die folgende Shebang-Deklaration in meinen Python Skripten:

#!/usr/bin/python

Kürzlich bin ich auf diese Shebang-Erklärung gestoßen:

#!/usr/bin/env python

In der Skriptdokumentation wurde festgestellt, dass die Verwendung dieses Formulars "portabler" ist.

Was bedeutet diese Erklärung? Wie kommt es, dass in der Mitte des Pfades ein Leerzeichen ist? Trägt es tatsächlich zur Protabilität bei?

53
Adam Matan
#!/usr/bin/env python

ist portabler, da im Allgemeinen das Programm /usr/bin/env verwendet werden kann, um den gewünschten Befehl ohne vollständigen Pfad zu "aktivieren".

Andernfalls müssten Sie den vollständigen Pfad des Interpreters Python angeben, der variieren kann.

Egal, ob der Python Interpreter in /usr/bin/python Oder in /usr/local/bin/python Oder in Ihrem Home-Verzeichnis war, mit #!/usr/bin/env python Wird es funktionieren.

67
jh314