Как установить другую версию python
У меня стоит pyhton 3.8 . Но мне нужно установить pyhton 3.7 (на то есть причины). Нужно ли мне удалять pyhton 3.8 , чтобы сделать это, и если нужно то как? Если что у меня операционная система Linux и модель Linux Mint 18 .
Отслеживать
49k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков
задан 29 мая 2020 в 18:02
Kate Adams Kate Adams
17 1 1 серебряный знак 4 4 бронзовых знака
Не модель, а дистрибутив
29 мая 2020 в 18:03
Можно через pip поставить всё что угодно и каких угодно версий в домашний каталог.
29 мая 2020 в 23:57
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Но мне нужно установить pyhton 3.7
Устанавливайте на здоровье. Только не «руками», а системным установщиком пакетов. Что там у вас — dnf / zypper / yum.
Нужно ли мне удалять pyhton 3.8
На самом деле, Вам нужно разобраться с тем, какая программа на питоне какой конкретный интерпретатор питона использует. До сих пор есть много приложений, которые написаны для питона 2.7
Если все Ваши скрипты будут использовать 3.7, то проще всего, в каталоге /usr/bin/ выполнить команду:
sudo ln -s python3.7 python
Тогда все обращения к интерпретатору питона будут вызывать именно версию 3.7.
Но это довольно рискованный путь. В системе есть куча файлов на питоне и решать за всех — не стоит.
Если же Вам просто нужно, что бы конкретно Ваши программы исполнялись в версии 3.7, то пропишите это явно в каждой вашей программе в первой строке так:
#!/usr/bin/python3.7
и всё будет именно так, как Вы хотите.
Как установить конкретную версию 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?


Привет всем! Делаю тут бота для Instagram (кстати, подписывайтесь на мой ) — который будет лайкать посты по указанным тегам, подписываться по заданным параметрам (и отписываться тоже) и все такое прочее. В основе лежит библиотека InstaPy (более подробно о ней — позже). В пока столкнулся с вопросом, который звучит как: «Как установить библиотеку определенной версии в Python?». Разберемся с этой проблемой!
Иногда бывает так, что установив библиотеку с помощью pip вы сталкиваетесь с проблемой — самая новая версия оказывается — не совсем вам подходит. И нужно установить библиотеку определенной версии. Для этого в командной строке вводим следующее (в качестве примера возьмем ту же самую библиотеку InstaPy, о которой говорил выше. Текущая версия библиотеки на момент написания поста: 0.6.13, а мне нужно установить версию: 0.6.12):
pip install instapy==0.6.12
ВСЕ! Фактически,, мы просто дали команду pip — установить библиотеку — и указали нужную нам версию. Кстати, для правильного удаления библиотеки из системы используйте следующую конструкцию:
pip uninstall instapy
т.е. даем команду pip деинсталировать библиотеку (да, этот метод не так красив как в PyCharm, но не оставляет всяческих хвостов в системе).
Спасибо за внимание! Как всегда — в случае возникновения вопросов пишите на почту или в Telegram!
Установка Python 3.9 и виртуального окружения (VENV)

Для примера возьмём Ubuntu 18, там установлена нативная версия Python 3.6.9 по умолчанию. Проверим версию установленного пакета командой:
python3 --version

Если вы планируете запускать на сервере несколько разных программ Python, то лучше использовать виртуальное окружение, чтобы избежать проблем с производительностью и совместимостью. Использование VENV позволит установить разные пакеты PIP и не нагружать ими нативную версию Python. Подробнее об этом рассказываем в одном из следующих разделов.
Запускаем обновление репозиториев и пакетов операционной системы. На боевом сервере делать это не рекомендую, в этом случае просто обновим репозитории ( apt update ):
apt update && apt upgrade -y
Далее установим пакет для управления независимыми репозиториями и добавим сам репозиторий Python:
apt install software-properties-common -y && add-apt-repository ppa:deadsnakes/ppa
Подтверждаем добавления репозитория нажатием кнопки Enter .
После чего можно установить на сервер любую доступную версию Python, подходящую для ваших задач. На момент написания статьи последняя доступная стабильная версия из репозитория — Python 3.9.
Проверить какие версии доступны для установки можно командой:
apt-cache policy python3.9
#Вместо 3.9 можно указать нужную версию.

Установим Python 3.9, для этого выполняем команду:
apt install python3.9 -y
Для проверки запустим интерактивную сессию Python:
python3.9 print("Hello, World!")

Для выхода из интерактивной сессии нажимаем Ctrl+D , также выйти можно с помощью команды quit() или exit() .
Установка Python на Debian
На Debian 11 для установки Python3.9.2 достаточно будет выполнить команду:
apt install software-properties-common -y
Для операционных систем Debian 9 и 10 процесс установки отличается Python 3.9 отличается, будем собирать пакеты скачанные с официального сайта. Но не волнуйтесь, в этом нет ничего сложного.
Обновляем репозитории и устанавливаем обновления для нового сервера, для уже работающего обновим только репозитории ( apt update ):
apt update && apt upgrade -y
Устанавливаем службы которые необходимы для сборки:
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev -y
Загружаем архив с нужной версией и распакуем его:
wget https://www.python.org/ftp/python/3.9.12/Python-3.9.12.tgz && tar -xf Python-3.9.12.tgz
Посмотреть доступные для загрузки архивы и скопировать ссылку можно на официальном сайте
Перейдём в директорию с Python:
cd /root/Python-3.9.12/
#В моём случае работаю под пользователем root и архив был загружен/распакован в корневую директорию этого пользователя /root/
И запустим сценарий конфигурации:
./configure --enable-optimizations
После чего соберём пакет командой:
make -j 2
#Ключ -j указывает на количество одновременно выполняемых операций, здесь можно указать число равное количеству ядер процессора для вашего сервера чтобы ускорить сборку
Когда процесс будет завершён запускаем финальную команду:
make altinstall
Готово, на сервер установлена альтернативная версия Python 3.9.12
Для проверки запустим интерактивную сессию Python.
Управление альтернативными версиями
Для управления установленными версиями Python и выбора основной используем службу update-alternatives .
Хочу предупредить, что выполнять такие действия нежелательно по причине того, что системные программы написаны и протестированы именно для той версии Python, которая была установлена по умолчанию, а обновление основной версии может нарушить работу каких-либо служб. Для подобных задач лучше использовать виртуальное окружение Python VENV, об этом в следующем разделе.
Если вы всё же приняли решение обновить нативную версию, то добавляем установленные на сервере версии как альтернативные:
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
# /usr/bin/python3.6 — путь до установленной версии в операционной системе.
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
#Здесь принцип тот же, путь до установленной версии и приоритет 2 .
#Для Debian путь до установленной альтернативной версии отличается /usr/local/bin/python3.9
update-alternatives --list python3

Для установки альтернативной версии как основной выполняем команду и выбираем нужный номер версии, который указан в колонке Selection :
update-alternatives --config python3


Установка и начало работы с Python virtualenv (VENV)
Аббревиатура VENV расшифровывается как «virtual environment», что в переводе означает «виртуальная среда». Размещение проектов в изолированной виртуальной среде позволяет управлять абсолютно разными проектами Python на одном сервере. Проекты могут использовать разный набор библиотек и разную версию Python, при этом для каждой отдельной виртуальной среды можно использовать собственные настройки.
Выполним установку venv:
apt install python3-venv -y
Для установки venv на альтернативную версию для Ubuntu используем команду следующего вида:
apt install -y python3.9-venv -y
Создадим директорию, в которой будет находится наше виртуальное окружение, и сразу перейдём в неё:
mkdir fvds && cd fvds
Можно использовать любую удобную директорию.
Активируем виртуальную среду:
python3 -m venv fvds_env или python3.9 -m venv fvds_env
Где « fvds_env » название нашего проекта.
Активируем созданную среду командой:
source /путь_до_окружения/bin/activate
#В моём случае получилась вот такая команда: source /root/fvds/fvds_env/bin/activate
Когда виртуальная среда стала активна, то в командной строке перед именем пользователя появляется префикс созданной среды:

При работе в venv вы можете использовать команды python и pip вместо python3 и pip3 соответственно.
Для выхода из окружения используем команду:
deactivate
Для управления большим количеством окружений есть замечательный инструмент virtualenvwrapper . Более подробную информацию можно найти на официальном сайте этого программного обеспечения.
Установка менеджера пакетов PIP для Debian и Ubuntu
Для решения большинства задач в Python уже созданы библиотеки, и вам не требуется писать с нуля модули, например, для взаимодействия с базами данных или веб-сервером. В свободный доступ менеджера пакетов PIP добавлено более 382 тысяч пакетов, что само по себе является впечатляющей цифрой. Сложно вообразить, какое количество строк кода уже было написано и какие возможности нам открывает этот инструмент.
Приступим к установке менеджера PIP для управления библиотеками Python, которые не входят в стандартную сборку:
apt install python3-pip -y
Если на сервере есть альтернативные версии Python, которые вы используете, то выполняем обновление PIP для этой версии:
python3.9 -m pip install --upgrade pip
#Вместо 3.9 можно указать нужную версию
Рассмотрим синтаксис утилиты:
pip3 [команда] [опции] [имя пакета]
Вот набор основных команд, которые пригодятся при работе с PIP:
- install — установить пакет.
- install -U — обновление пакетов.
- uninstall — удалить пакет.
- search — найти пакет.
- list — список установленных пакетов.
- show — просмотр информации о установленном пакете.
Для примера установим пакет aiogram :
pip3 install aiogram
Проверяем наличие библиотеки для основной версии командой:
pip3 list | grep aiogram или pip3 show aiogram
Для установки библиотек на альтернативную версию Python используем команду следующего вида:
python3.9 -m pip install aiogram
Проверим, установилась ли эта библиотека на альтернативную версию:
python3.9 -m pip list | grep aiogram или python3.9 -m pip show aiogram
Найти название нужной библиотеки, посмотреть документацию к ней и получить команду для её установки всегда можно на официальном сайте pypi.org
Использование requirements.txt
Если потребуется масштабировать вашу программу, перенести её на другой сервер или развернуть проект из GitHub, не устанавливая каждый пакет PIP, который требуется для запуска, отдельно — всё это можно реализовать с помощью встроенного функционала. Все пакеты можно сохранить в файл requirements.txt (такое название необязательно, но является общепринятым стандартом), а затем развернуть их на сервере или в виртуальном окружении VENV.
Чтобы сохранить информацию о всех установленных пакетах PIP, используем команду:
pip3 freeze > requirements.txt
Для установки пакетов, которые были сохранены в файл, команда следующая:
python3 -m pip install -r requirements.txt или pip3 install -r requirements.txt
Запуск скриптов Python при старте сервера через Cron
Большинство начинающих пользователей сталкиваются с вопросом: «Как автоматизировать запуск программы на Python и добавить скрипт автозагрузку?»
Самый простой способ добавить задачу в Cron.
Если вы используете venv, то задача, добавленная в планировщик, будет выглядеть вот таким образом:
@reboot source /путь_до_окружения/bin/activate && python /путь_до_скрипта.py
Запуск скрипта без виртуального окружения:
@reboot /usr/bin/python3 /путь_до_скрипта.py
Проверить, правильно ли вы добавили команду, можно, запустив скрипт по путям, которые добавлены в планировщик Cron. Чтобы точно убедиться, что скрипт запускается после перезагрузки, давайте проверим это на практике и отправим сервер на перезагрузку командой:
reboot
Если ваш проект запустился после загрузки операционной системы, то всё работает. В ином случае смотрим логи Cron и ищем ошибку.