Как получить список доступных версий Python в машиночитаемом виде? И вычислить последнюю стабильную
Есть https://devguide.python.org/versions/ , где красивая картинка. Есть https://www.python.org/downloads/ , где красивые кнопки скачивания. А мне надо аналог https://changelogs.ubuntu.com/meta-release-lts или https://nodejs.org/dist/index.json Ткнине пожалуйста носом как мне просто узнать current версию питона.
Отслеживать
don Rumata
задан 4 мая в 21:55
don Rumata don Rumata
4,195 3 3 золотых знака 19 19 серебряных знаков 41 41 бронзовый знак
4 мая в 22:09
Воу! Круто! То, что надо! Делай ответ.
4 мая в 22:11
@andreymal, про парсинг свойств этого апи — лучше наверное задать отдельный вопрос? Я просто пока не нашёл как мне понять, что нужно выкачивать 3.10.11 , которая на текущий момент является latest stable.
5 мая в 10:04
Я вижу там «is_latest»:true
5 мая в 10:06
Не, латест — это 3.11.3 . А дальше, на странице загрузки идёт раздел Stable Releases . И вот там — 3.10.11 . Или это — тоже стабильная ветка? Я не шарю за питон.
5 мая в 10:10
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
как мне просто узнать current версию питона.
$ python --version Python 3.11.3 $
Если же необходимо получить все версии какого-то пакета (например — python), имеющиеся в репозитарии, то нужно обратиться к пакетному менеджеру. Например вот так (fedora):
dnf info python3
Получим список доступных пакетов.
Я хочу получить последнюю версию от разрабов
Здесь можно посмотреть и скачать все активные версии интерпретатора:
Отслеживать
ответ дан 5 мая в 1:14
13.4k 1 1 золотой знак 13 13 серебряных знаков 29 29 бронзовых знаков
Я думал, что из контекста вопроса — понятно, что в системе питона может и не быть от слова «совсем».
5 мая в 10:02
@donRumata — «current версию питона» — я правильно понимаю, что «current» версия — это та, которая НЕ установлена ?
5 мая в 10:33
Нет. Я хочу получить последнюю (лично мне нужна стабильная, но это детали) версию от разрабов питона, а не от разрабов конкретного дистра. Если я прогружу SliTaz 10-и летней давности — там последняя версия питона будет, мягко, скажем, не сильно по-настоящему последней. Ссылки на убунту и ноду я кинул не просто так. Пройди по ним, пожалуйста и посмотри в контексте моего вопроса.
Определить версию windows используя Python
Сообщение было отмечено ildwine как решение
Решение
Суть вопроса такова, как используя Python, определить какая windows на установлена на ПК?
Нужно научить программу отличать XP и 7.
1 2 3 4 5 6 7 8
>>> import sys >>> sys.platform 'win32' >>> import platform >>> platform.system() 'Windows' >>> platform.architecture() ('32bit', 'WindowsPE')
но это не совсем то.
Где в системе может хранится информация о версии?
Добавлено через 1 час 0 минут
Немного подумав, решил поставленную задачу, может кому то пригодится.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
import sys import winreg import os verpath = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" seven = "('6.1', 1)" xp = "('5.1', 1)" try : root = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, verpath, 0, winreg.KEY_SET_VALUE|winreg.KEY_READ) except EnvironmentError : print('Указанный раздел не существует') sys.exit(1) ver = str(winreg.QueryValueEx(root, "CurrentVersion")) if ver == seven: print('windows 7') if ver == xp: print('windows XP') input()
Установка 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 и ищем ошибку.
Как обновить Python в Windows?
Подробно рассмотрим как правильно обновить язык программирования Python.
Введение
Технологии развиваются быстро, а языки программирования — это основной драйвер развития. Нередко выходят корректирующие релизы исправляющие найденные ошибки или версии с расширением функционала. Python в этом плане ничем не отличается от других языков программирования, но процесс его обновления не столь сложен, как может показаться сначала. Если у вас получится обновить один раз, вы уже не забудете как его повторить, потому что это не сложно и очень быстро.
Узнаем текущую версию
Открываем пуск -> выполнить -> вводим команду cmd. В открывшемся окне пишем команду python —version и смотрим какая у нас версия.
Скачиваем последнюю версию
Переходим на официальный сайт www.python.org/downloads/ и скачиваем последнюю версию
Нажимаем кнопочку Download Python и скачиваем дистрибутив
Установка
Так как у меня установлена уже последняя версия Python мне пришлось скачать beta версию для демонстрации процесса обновления. Не пугайтесь из за того, что на картинках другая версия, это не ошибка
Ставим обязательно галочку перед пунктом Add Python 3.9 to PATH.
Нажимаем Install Now и переходим далее.
Обязательно предоставляем полные права приложению
Дожидаемся окончания процесса установки и в конце нажимаем Close
Проверка установки
В самом начале я описал процесс сверки текущий версии Python. Нам сейчас это необходимо повторить, только предварительно перезапустив окно cmd.exe иначе запуститься python старой версии
Заключение
В этой статье мы рассмотрели процесс обновления языка программирования Python, прошли от первого до последнего шага и успешно завершили обновление.
На это все. Поздравляю, теперь у вас установлена последняя версия Python.
Егор Егоров
Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.
Ссылка на мой github есть в шапке. Залетай.
Оцените автора
Добавить комментарий Отменить ответ
Борис 11.12.2021 в 11:42
К сожалению автор не указал, что «обновить Python» невозможно! И короткий ответ на заголовок статьи — НИКАК! Можно поставить новую версию. А вот как управляться имея разные версии — это вопрос интересный!
Егор Егоров автор 25.04.2022 в 15:49
Скажу по секрету, что большинство программ обновлясь перезаписывают свои данные так же как и полная переустановка, только это происходит в тихом режиме, скрытом от пользователя.
Алексей 26.06.2022 в 15:20
Питон не затирает старую версию. И при установки новой версии у вас после будут стоять несколько версий питона.
По этому если хотите только одну версию сначала нужно удалить все предыдущие.
Или можно просто выбирать интерпретатор тот который требуется
Егор Егоров автор 02.07.2022 в 02:07
Хм, не знал, спасибо, давно слез с Windows, еще до того, как начал программировать
Влад 16.10.2021 в 20:53
У меня Windows 7 32bit, ну можно сказать старичок ноутбук он разумеется моложе чем я (на 4 года+-, так как я не знаю был ли он когда мне было 8 летб сейчас 13)
и версия 3.9.4 показывает что виндовс старый (нужна версия чтобы хотя бы работал pygame и pyinstaller, чтобы работала банальная змейка и разные пинг понг (питону только учусь месяц, интересно что ровно потому что начал я 15 числа сентября). Если автор поможет потому что я так сказать по мягче даже не понимаю нафига он что за него такие суммы платят хотя это просто программа(типа Майнкрафт за $2.5 миллиарда)), надеюсь за граматику ни кто не на ругает.
Егор Егоров автор 25.10.2021 в 13:52
Честно говоря, никогда не сталкивался с проблемой несоответствия версий операционной системы и python. На сколько я сейчас знаю (а я не пользуюсь windows уже очень давно), Windows 7 вышла из официальной поддержки Microsoft, может вам все таки обновить систему до актуальной версии и проблема решится ?:)
Jerry 04.11.2021 в 23:29
Писака прав. На 7 винде 3.6 что ли версия максимум ставится, около того. И если уж ты решил плотненько сесть на программирование, то не хотел бы рассмотреть в качестве операционной системы что-то из линукс дистрибутивов?