Это сделано намеренно: если у вас несколько установок Python, запуск этого файла в качестве исполняемого файла всегда будет вызывать Python, для которого он был установлен, независимо от вашего текущего PATH
.См. pytest, работающий с другой версией python , для случая, когда это имеет значение - в частности, предотвращает поломку системных сценариев на основе Python.
pip/_vendor/distlib/scripts.py:_make_script()
- это код, выполняющий эту работу (ищите «shebang»).
Абсолютно нет причин (следовательно, нет предоставленного способа) отключить эту функцию: запуск сценария с установкой, отличной от установленнойпрактически гарантированно сломать его.Если вы действительно этого хотите, вы всегда можете запустить <different python> <path_to_script.py>
.Как гласит девиз Python: «Делай правильные вещи легко, усложняй неправильные».