Nie dotykaj mojego shebang

Jedna rzecz, której nienawidzędistutils (ZgadujęOn jest złem, który to robi) to, że zmienia linię shebang. Innymi słowy, bardziej racjonalne i środowiskowe decyzje podejmują pisma święte

#!/usr/bin/env python

zostaje w magiczny sposób przekształcony

#!/whatever/absolute/path/is/my/python

Widać to również w grok: użyłem grokproject w virtualenv, aby uruchomić mój projekt, ale teraz nie mogę już przenieść katalogu deweloperskiego, ponieważ wprowadza on bezwzględne ścieżki w dyrektywie shebang.

Powód, dla którego o to pytam, jest dwojaki

Chcę go przenieść, ponieważ zacząłem rozwijać w jednym katalogu (Eksperymenty) i teraz chcę przenieść go na właściwą ścieżkę, ale nie mogłem tego zrobić. Dlatego stworzyłem nowy virtualenv i grokproject i skopiowałem moje pliki. To rozwiązuje problem, ale ciekawość pozostawia mi bardziej racjonalne rozwiązanie niezadowolone. W szczególności, jeśli odniesienie do interpretera python virtualenv było względne, problem nie występowałby w pierwszej kolejności. Znasz układ virtualenv i łatwo możesz odwołać się do python virtualenv.Drugim powodem jest to, że chciałbym móc scp the virtualenv na inny komputer i uruchomić go tam bez problemów. Nie jest to możliwe, jeśli masz zakodowane ścieżki.

questionAnswers(5)

yourAnswerToTheQuestion