У меня установлен Python 3.7.0 в Windows. Я только один раз следил за установщиком, но у меня есть два разных исполняемых файла python, установленных в двух разных местах.
C:\Windows\py.exe
с белым значком — 887 КБ (908 952 байта); а также
C:\Users\myuser\AppData\Local\Programs\Python\Python37\python.exe
с черным значком, 97,6 КБ (99 992 байта)
Установщик Python указывает второй путь, как показано в руководстве, но Git Bash, Cygwin и MSYS+MingW сообщают о первом как о действительном, а не о втором:
$ which python
which: python: unknown command
$ which py
/c/WINDOWS/py.exe
И PowerShell показывает, что оба они являются Python 3.7.0, несмотря на разные размеры файлов:
PS C:\Users\myuser\AppData\Local\Programs\Python\Python37> ./python.exe -V
Python 3.7.0
PS C:\Users\myuser\AppData\Local\Programs\Python\Python37> py -V
Python 3.7.0
В первом пути нет подпапки «Scripts», а во втором есть, однако переменные System Environment указывают на папку «Scripts» на пути, который не имеет папки «Scripts»:
Переменная PATH: %PYTHON_HOME%\
%PYTHON_HOME%\Scripts\
Переменная PYTHON_HOME: C:\Windows\
Так где же «py.exe» хранит библиотеки? Почему они оба правильно запускают скрипты Python и имеют одинаковые результаты? И почему вообще есть установка на C:\Windows\
? Мне пришлось физически добавить вторую в переменную PATH, чтобы иметь возможность использовать pip
из терминала, не набирая py -m pip
, и я не хочу вводить длинную версию.