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?
#!/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.