pip3.10 install virtualenv вызывает ошибку Fatal error in launcher

В системе есть несколько версий интерпретатора python и все они в Path

введите сюда описание изображения

Так как в основном пользуюсь 3.7, то в директории Python37 лежит файл python.exe, для того, чтобы командой python main.py вызывать именно 3.7 версию.

Проблема в том, что команда pip3.10 install virtualenv вызывает ошибку

Fatal error in launcher: Unable to create process using '"C:\Users\User\AppData\Local\Programs\Python\Python310\python.exe"  "C:\Users\User\AppData\Local\Programs\Python\Python310\Scripts\pip3.10.exe" install virtualenv': ?? ??????? ????? ????????? ????

Это логично, ведь python.exe лежит только в python37. И данную ошибку можно исправить добавив python.exe в Python310. Но в такой ситуации в Path получается две директории в которых хранится python.exe и при выполнении команды python запустится интерпретатор python310.

Вопрос, как сделать так, чтобы при выполнении python в cmd запускался именно python3.7, а при pip3.10 install virtualenv устанавалась библиотека для python 3.10? Можно конечно всегда прописывать "C:\Users\User\AppData\Local\Programs\Python\Python310\python310.exe" pip3.10.exe install virtualenv но по-моему застрелиться проще.


Ответы (1 шт):

Автор решения: insolor

Не нужно удалять python.exe из дополнительных установок интерпретатора Python. Удалите дополнительные C:\Users\User\AppData\Local\Programs\Python\Python310, C:\Users\User\AppData\Local\Programs\Python\Python39 из переменных окружения (Scripts по идее можно оставить), тогда через python.exe будет запускаться версия Python 3.7. Дополнительные версии интерпретатора запускайте через py -3.9или py -3.10.

Вместо virtualenv используйте стандартный модуль venv, его не нужно дополнительно устанавливать. venv запускайте нужной версией интерпретатора, например через py -3.10 -m venv имя_окружения

→ Ссылка