Weiß das jemand? Ich habe nie eine Antwort gefunden.
Weiß das jemand? Ich habe nie eine Antwort gefunden.
Antworten:
Wenn Sie dazu neigen, Python an verschiedenen und interessanten Stellen auf Ihrem PATH zu installieren (wie in $PATHtypischen Unix-Shells, %PATHin typischen Windows- Shells ), wird die Verwendung /usr/bin/envIhrer Laune gerecht (zumindest in Unix-ähnlichen Umgebungen), während Sie direkt zu gehen /usr/bin/pythonGewohnheit. Aber die Kontrolle darüber zu verlieren, unter welcher Python-Version Ihre Skripte ausgeführt werden, ist kein ungetrübtes Schnäppchen. Wenn Sie sich meinen Code ansehen, werden Sie eher feststellen, dass er beispielsweise #!/usr/local/bin/python2.5mit einem offenen und akzeptierenden #!/usr/bin/env pythonSkript beginnt - vorausgesetzt, das Skript ist wichtig Ich möchte sicherstellen, dass es mit der spezifischen Version ausgeführt wird, mit der ich es getestet und entwickelt habe, NICHT mit einer halbzufälligen ;-).
#!/usr/bin/env pythonBeachten Sie auch die Tatsache, dass using und virtualenvs das Skript in der aktuellen Version ausführen! Dies kann eine gute Sache sein oder auch nicht, hängt von Ihrem Anwendungsfall ab.
Es findet die ausführbare Python-Datei in Ihrer Umgebung und verwendet diese. Es ist portabler, da sich Python möglicherweise nicht immer in / usr / bin / python befindet. env befindet sich immer in / usr / bin.
Es findet 'Python' auch in / usr / local / bin, ~ / bin, / opt / bin, ... oder wo immer es sich versteckt.
/usr/bin/envnicht vorhanden, ist Ihr System kaputt. envist ein nach POSIX-Standard erforderliches Werkzeug.
Möglicherweise ist dieser Beitrag von Interesse: http://mail.python.org/pipermail/python-list/2008-May/661514.html
Dies ist möglicherweise eine bessere Erklärung: http://mail.python.org/pipermail/tutor/2007-June/054816.html