Я хочу, чтобы на моем компьютере было несколько версий python (я использую Windows): python 3.8 и python 3.5 (я использую некоторые пакеты, которые работают только на 3.5 ..). Если я назову «пункт» в терминале, он не будет знать, вызываю ли я пункт для python3 .8 и пункт для python3 .5. Поэтому я хочу иметь только pip3.5 и pip3.8 и удалить другие файлы pip. Имеет ли это смысл?
Вам не нужно ничего удалять из любой из ваших Python инсталляций, чтобы добиться разумного поведения в системе, в которой вы пытаетесь поддерживать несколько проектов, нацеленных на несколько Python версий.
Установите каждую версию Python - в вашем случае 3.5 и 3.8 - по отдельным путям и добавьте соответствующие пути к вашей PATH
переменной среды в желаемом порядке .
Пути, которые появляются раньше в значении этой переменной, будут иметь приоритет над путями, которые появятся позже в случаях, когда есть двусмысленность. Вам следует серьезно подумать о том, чтобы прочитать о переменной PATH
и о том, как оболочки ищут пути для исполняемых файлов, когда вы не используете абсолютные пути.
См. Ниже пример (частичной) переменной PATH
в системе Windows с установленными рядом Python 3,7 и Python 3,8. В этом примере pip3.8
преобразуется в pip
из установки Python 3.8, pip3.7
преобразуется в pip
из установки Python 3.7, а pip
преобразуется в pip3.8
.
> echo %PATH%
D:\Installs\Python38\Scripts;D:\Installs\Python38;D:\Installs\Python37\Scripts;D:\Installs\Python37
> where python
D:\Installs\Python38\python.exe
D:\Installs\Python37\python.exe
> where pip
D:\Installs\Python38\Scripts\pip.exe
D:\Installs\Python37\Scripts\pip.exe
Кроме того, если вы обнаружите, что управляете несколькими версиями Python для одного проекта Python, подумайте о таких проектах, как tox
или nox
, которые призваны упростить управление несколькими виртуальными средами в нескольких версиях Python; или рассмотрите возможность изучения контейнеров / виртуализации.