Как изменить версию python
На одной рабочей машине одновременно может быть установлено несколько версий Python. Это бывает полезно, когда идет работа с некоторыми внешними библиотеками, которые поддерживают разные версии python, либо в силу каких-то других причин нам надо использовать несколько разных версий. Например, на момент написания статьи последней и актуальной является версия Python 3.11 . Но, допустим, необходимо также установить версию 3.10 , как в этом случае управлять отдельными версиями Python?
Windows
На странице загрузок https://www.python.org/downloads/ мы можем найти ссылку на нужную версию:

И также загрузить ее и установить:

Чтобы при использовании интерпретатора Python не прописывать к нему весь путь, добавим при установке его в переменные среды. Но здесь надо учитывать, что в переменных среды может содержаться несколько путей к разным интерпретаторам Python:

Та версия Python, которая находится выше, будет версией по умолчанию. С помощью кнопки «Вверх» можно нужную нам версию переместить в начало, сделав версией по умолчанию. Например, в моем случае это версия 3.11. Соответственно, если я введу в терминале команду
python --version
C:\python>python --version Python 3.11.0
Для обращения к версии 3.10 (и всем другим версиям) необходимо использовать указывать номер версии:
C:\python>py -3.10 --version Python 3.10.9
например, выполнение скрипта hello.py с помощью версии 3.10:
py -3.10 hello.py
Подобным образом можно вызывать и другие версии Python.
MacOS
На MacOS можно установить разные версии, например, загрузив с официального сайта пакет установщика для определенной версии.
Для обращения к определенной версии Python на MacOS указываем явным образом подверсию в формате python3.[номер_подверсии] . Например, у меня установлена версия Python 3.10. Проверим ее версию:
python3.10 --version
Аналогично обращении к версии python3.9 (при условии если она установлена)
python3.9 --version
К примеру выполнение скрипта hello.py с помощью версии python 3.10:
python3.10 hello.py
Linux
На Linux также можно установить одновременно несколько версий Python. Например, установка версий 3.10 и 3.11:
sudo apt-get install python3.10 sudo apt-get install python3.11
Одна из версий является версий по умолчанию. И для обращения к ней достаточно прописать python3 , например, проверим версию по умолчанию:
python3 --version
Для обращения к другим версиям надо указывать подверсию:
python3.10 --version python3.11 --version
Например, выполнение скрипта hello с помощью версии Python 3.10:
python3.10 hello.py
Но может сложиться ситуация, когда нам надо изменить версию по умолчанию. В этом случае применяется команда update-alternatives для связывания определенной версии Python с командой python3. Например, мы хотим установить в качестве версии по умолчанию Python 3.11. В этом случае последовательно выполним следующие команды:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
Числа справа указывают на приоритет/состояние. Так, для версии 3.11 указан больший приоритет, поэтому при обращении к python3 будет использоваться именно версия 3.11 (в моем случае это Python 3.11.0rc1)

С помощью команды
sudo update-alternatives --config python3
можно изменить версию по умолчанию
Как поменять версию Python в командной строке в Windows?
Перешел на новою версию python и теперь нужно заново устанавливать pygame.Но в командной строке отображается предыдущая версия. Что делать? Кто может помочь пожалуйста ответьте.
- Вопрос задан более года назад
- 2911 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1

Aragorn @Lord_of_Rings
Python developer
Ответ написан более года назад
Нравится 1 3 комментария

Алан Гибизов @phaggi Куратор тега Python
Это неправильный путь.
Полагаю, лучше делать по-другому.
Каждый проект надо делать в своем окружении, почитай про окружение Python. И в это окружение устанавливать нужные версии Python и соответствующих библиотек. И там все отлаживать и выпускать, фиксируя версии ПО при помощи pip freeze > requirements.txt .
Переводишь проект на новый Python - делаешь новую версию окружения, туда всё подтягиваешь и там всё перенастраиваешь. И опять доводишь до готового продукта и фиксируешь версии ПО.
Иначе будет каша, винегрет с колбасой.
StasKaz82 @StasKaz82 Автор вопроса
Алан Гибизов, Добрый день, я только недавно начал изучать python можете объяснить более подробно?

Алан Гибизов @phaggi Куратор тега Python
StasKaz82, нет, не могу. Сказано достаточно, чтобы нагуглить и прочесть необходимое. Ну и, конечно, надо попрактиковаться.
Поменять версию python в windows 10

Собственно у меня в системе(win 10) 2 версии python, нужны обе. Как можно их переключать? В ситуации на скрине, почему версию пишет 2.7, а запускается 3.8? Читал что нужно в системных переменных PATH что то поменять, но что именно, толковой информации не нашел.
Отслеживать
задан 4 июн 2020 в 11:34
51 1 1 золотой знак 1 1 серебряный знак 3 3 бронзовых знака
я бы советовал управлять версиями Python используя виртиуальные окружения
4 июн 2020 в 11:41
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Утилита py - это лаунчер, который с помощью ключей командной строки позволяет запускать нужную версию Python (из установленных на данном компьютере). Справка по этой утилите:
C:\Users\User>py --help Python Launcher for Windows Version 3.8.1150.1013 usage: py [launcher-args] [python-args] script [script-args] Launcher arguments: -2 : Launch the latest Python 2.x version -3 : Launch the latest Python 3.x version -X.Y : Launch the specified Python version The above all default to 64 bit if a matching 64 bit python is present. -X.Y-32: Launch the specified 32bit Python version -X-32 : Launch the latest 32bit Python X version -X.Y-64: Launch the specified 64bit Python version -X-64 : Launch the latest 64bit Python X version -0 --list : List the available pythons -0p --list-paths : List with paths
Т.е., если вам нужно запустить Python 2.7, нужно в командной строке указать py -2.7 или py -2 (тогда будет запущен интерпретатор Python самой новой версии из "ветки" 2 из установленных).
Также эта утилита умеет брать версию Python из shebang строки скрипта: если в начале скрипта написать #!python2.7 , и запустить скрипт с помощью команды
py имя_скрипта.py , то скрипт будет запущен с помощью Python версии 2.7 (или другой версии, которую вы укажете).
- Документация: Python Launcher for Windows
- PEP 397 -- Python launcher for Windows
Python-update
Если версия Python, установленная на вашей ОС, не поддерживается модулями или поллером, то необходимо установить дополнительно новую версию Python, удовлетворяющую всем требованиям.
Важно: Изменять системную версию Python на новую - не рекомендуется! Единственный правильный способ - это установить новую версию параллельно системной. Иначе могут перестать работать различные системные службы и утилиты, использующие Python.
Сначала убедитесь, что у вас установлены все необходимые глобальные пакеты в Python, которые необходимы глобально для запуска виртуального окружения, для сборки других зависимостей.
sudo apt install -y python3-dev python3-pip python3-venv libffi-dev pkg-config
После того, как все установлено, зайдите на сайт https://www.python.org/downloads/source/ и скопируйте номер последней версии текущей ветки или предыдущей, если текущая ветка слишком свежая. Например, если последняя версия 3.11.1, то надежней все таки установить версию 3.10.11, т.к. сразу после выхода новой версии (3.11) есть вероятность того, что не все зависимые пакеты ее поддерживают.
Далее вам нужно создать временную переменную окружения, значение которой будет содержать номер версии Python, которую вы собираетесь установить.
PY_VER=3.11.9
Далее приведены команды, которые вы просто выполняете по одной, одну за другой, чтобы контролировать процесс и в случае ошибки не выполнять остальные команды. Копируйте по одной строке и выполняйте:
curl -o python.tgz "/Python-$.tgz">https://www.python.org/ftp/python/$/Python-$.tgz" tar xzf python.tgz cd Python-$ ./configure --enable-optimizations make -j $(nproc) sudo -H make altinstall curl -sS https://bootstrap.pypa.io/get-pip.py | sudo -H python3.11 cd .. sudo rm -rf Python-$ python.tgz
После выполнения всех этих действий у вас в системе будет установлена дополнительно еще одна версия Python. В данном случае это Python 3.11 а также инструмент pip тоже с версией 3.11. Системная версия Python изменена не будет и мы не рекомендуем ее изменять, так как некоторые системные компоненты могут быть зависимы от нее.
Чтобы использовать именно эту версию python и pip, вам нужно указывать целиком имена файлов, которые вы запускаете. Например:
python3.11 --version pip3.11 --version
Теперь, чтобы создать виртуальное окружение для какого-либо модуля либо поллера, вам нужно использовать следующий синтаксис:
sudo python3.11 -m venv venv sudo venv/bin/pip install -U pip wheel и т.д.