Всем доброго!
Прошу объяснить одну очень глупую, но не дающую мне покоя "заковырку".
При создании любого проекта под Python считается хорошим тоном создать виртуальную среду под него.
$ python3 -m venv env
Активируя среду интерпретатор Python "переезжает" в папку env, в чем можно легко убедится
$ which python3
users/username/project/env/bin/python3
Чтобы не прописывать каждый раз интерпретатор в терминале, в шебанге мы прописываем путь к нему.
НО почему тогда
#!/env/bin/python
print('Hello World!')
а не
#!users/username/project/env/bin/python3
print('Hello World!')
P.S.:
И если на то уж пошло, можно ли в шебанге прописывать не полный путь к интерпретатору, а лишь относительно рабочего каталога? Что-то типа:
#! ~/env/bin/python3
print('Hello World!')