У меня есть файл Python, который я хотел бы выполнить, используя виртуальную среду (venv) в том же каталоге, что и файл. Я бы хотел, чтобы этот venv использовался независимо от того, активировал ли его пользователь или нет, чтобы избежать случайного запуска без надлежащей среды. Я бы хотел, чтобы это работало как на Linux, так и на Windows (через Git Bash).
Проблема в том, что venv помещает python в каталог bin в Linux, но в Scripts в Windows, и я не могу найти способ изменить это поведение при его создании. Я попытался создать его с помощью Git Bash в надежде, что он заставит python использовать каталог bin вместо скриптов, но это не сработало.
Следующий шебанг хорошо работает в Linux:
#!.venv3/bin/python
И этот хорошо работает в Windows:
#!.venv3/Scripts/python
Но что будет работать на обоих? Я знаю, что одним из вариантов было бы создание сценария оболочки, который активирует среду на основе обнаруженной ОС (используя $OSTYPE), но я хотел бы избежать этого, если это возможно, поскольку в противном случае это не необходимо.