Принятый ответ @AKX неверен для Windows 10, конечно, в самой последней Windows 10 (1903), если не раньше.
У меня установлено несколько версий Python (2.7, 3.6, 3.7 и большинствонедавно Python 3.8b1).Я годами использовал #!/usr/bin/env
shebang в своих сценариях для кросс-платформенной совместимости (обычно, чтобы отличить сценарии Py2 от Py3).
Я создал небольшой сценарий в папке (C:\so_test\awtest.py
):
#!/usr/bin/env python3.6
import sys
print(sys.version)
Если я запускаю это с awtest.py
или просто awtest
, я получаю сообщение 3.6.x
(показывая, что оно работает с Python 3.6).Если я изменю шебанг на 3,7, я получу сообщение 3.7.x
.Если я изменю shebang на #!/usr/bin/env python3
, я получу самую последнюю версию Python (3.8).
Теперь, если я добавлю эту папку в свой путь (path=%PATH%;C:\so_test
в командном окне, которое вы тестируете)в или в главном env vars (вам нужно перезапустить командное окно, если вы сделаете последнее, хотя)), я могу перейти в другой каталог и запустить awtest
или awtest.py
, и они все еще работают и ссылаются напапка в пути.Если я удалю папку сценария из пути, эти файлы больше не будут найдены.
Хотя я не обязательно ожидаю, что это сработает в Windows до 10 или Python 2.7, эта функциональность кажется подходящей.идти вперед.