Как установить Python 3.7 в Debian 12

Python 3.7, ставший важной вехой в истории Python, был официально отправлен на пенсию в декабре 2022 года с выпуском Python 3.7.16. Это ознаменовало конец жизни серии 3.7, завершив ее путь последним исправлением ошибок безопасности. Несмотря на то, что Python 3.7 больше не поддерживается, эта версия остается значимой в экосистеме Python благодаря своим широким возможностям и стабильности.

python

Python 3.7

В Python 3.7 было внесено несколько улучшений и оптимизаций, которые повысили общую производительность и эффективность приложений на Python. В число этих улучшений входят:

  • Классы данных: В Python 3.7 появились классы данных с помощью нового модуля dataclasses. Эти классы позволяют создавать классы, которые в основном предназначены для хранения значений и практически не содержат бизнес-логики.
  • Улучшенный модуль asyncio: Модуль asyncio получил несколько новых возможностей и значительные улучшения в плане удобства использования и производительности.
  • Контекстные переменные: Это новая концепция, позволяющая переменным иметь различные значения в зависимости от их контекста. Это было особенно полезно в сценариях, связанных с асинхронным вводом/выводом.
  • Функции времени с наносекундным разрешением: В Python 3.7 в модуль времени были добавлены функции с разрешением в наносекунды, что стало существенным улучшением для приложений, требующих высокого разрешения времени.

Несмотря на все эти усовершенствования, можно задаться вопросом, зачем устанавливать устаревшую версию Python. Причины могут быть разными. Некоторые разработчики могут поддерживать старые системы, работающие на Python 3.7, а другим необходимо тестировать свои приложения на этой версии, чтобы обеспечить обратную совместимость. Кроме того, некоторые пакеты или библиотеки могут быть несовместимы с более новыми версиями Python, что делает Python 3.7 необходимой средой для конкретных случаев использования.

Независимо от причин, важно отметить, что Python 3.7, несмотря на окончание срока эксплуатации, по-прежнему может быть установлен и использован в качестве альтернативной среды Python. Это позволяет разработчикам работать с несколькими версиями Python на одной системе, удовлетворяя различные требования к проектам.

В следующем руководстве мы покажем, как загрузить, скомпилировать, установить и настроить Python 3.7 в качестве альтернативной рабочей среды Python на Debian 12 Bookworm, Debian 11 Bullseye или Debian 10 Buster. В этом руководстве будут даны подробные инструкции и рекомендации, обеспечивающие успешную и гладкую установку.

Компиляция и установка Python 3.7 из исходного кода

Шаг 1: Обновление системных пакетов Debian

Прежде чем приступить к процессу установки, необходимо убедиться, что ваша система Debian обновлена. Выполнив это, мы сможем гарантировать, что существующие пакеты будут совместимы с теми, которые мы собираемся установить.

Выполните следующую команду для обновления системы:

Шаг 2: Установка основных пакетов разработки

Далее мы установим набор пакетов, необходимых для компиляции Python из исходных текстов. Эти пакеты включают библиотеки разработки и другие утилиты, которые будут использоваться в процессе компиляции.

Для установки этих пакетов выполните следующую команду:

Шаг 3: Загрузка исходного кода Python 3.7

Установив необходимые пакеты, мы можем загрузить исходный код Python 3.7 с официального сайта Python. Финальной версией и исправлением ошибок безопасности для версии 3.7 стала версия 3.7.17, так как срок ее службы подошел к концу.

Для загрузки исходного кода используйте следующую команду:

Шаг 4. Извлечение архива Python и упорядочивание файлов

После загрузки исходного кода нам необходимо извлечь его с помощью команды tar:

Шаг 5: Конфигурирование, компиляция и установка Python 3.7

Теперь перейдем в каталог, содержащий исходный код Python. Запустим скрипт ./configure с определенными флагами для оптимизации и включения общих библиотек.

Перейдите в каталог и запустите скрипт configure:

Флаг --enable-optimizations предписывает скрипту выполнить несколько проверок на наличие всех зависимостей, а также оптимизировать двоичный файл Python путем выполнения нескольких тестов. Флаг --enable-shared позволяет собирать разделяемые библиотеки, которые необходимы для некоторых типов приложений.

Также можно использовать флаг --with-ensurepip=install для установки менеджера пакетов pip вместе с Python.

Теперь пришло время скомпилировать исходный код с помощью команды make:

Для ускорения компиляции, особенно на системах с несколькими ядрами процессора, можно использовать флаг -j, после которого указывается количество ядер процессора, которое необходимо задействовать.

Параллельное выполнение make

Например, если в системе 6 ядер, то можно использовать 5 из них:

После завершения компиляции установите двоичные файлы Python. Рекомендуется использовать команду make altinstall, чтобы не перезаписывать двоичные файлы Python, установленные в системе по умолчанию.

После установки настройте привязки времени выполнения динамического компоновщика. Это очень важный шаг, который не следует пропускать; пренебрежение им может привести к проблемам.

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

Вы должны увидеть вывод, аналогичный приведенному ниже:

Обратите внимание, не пропускайте этот пункт, иначе возникнут проблемы. Также необходимо заменить путь на имя каталога и версию.

Убедитесь, что Python 3.7 установлен, и проверьте версию сборки, выполнив следующую команду:

Установка Python 3.7 в качестве альтернативной среды Python

В этом разделе мы расскажем вам о том, как установить Python 3.7.16 в качестве альтернативного окружения Python. Это позволит использовать Python 3.7.16 наряду с другими версиями Python, установленными из репозитория apt, например, Python 3.10 или 3.11.

Регистрация Python 3.7.16 с помощью инструмента update-alternatives

Инструмент update-alternatives в Debian позволяет управлять несколькими версиями программы. Мы воспользуемся этим инструментом для регистрации Python 3.7.16 в качестве альтернативного окружения Python.

Сначала зарегистрируем Python 3.7.16 с помощью инструмента update-alternatives. Для регистрации программы используется флаг --install, после которого указывается путь к программе, имя группы ссылок (в данном случае python) и приоритет данной версии.

Для регистрации Python 3.7.16 выполните следующую команду:

Настройка среды Python

После регистрации Python 3.7.16 появилась возможность настроить среду Python, которая будет использоваться по умолчанию. Инструмент update-alternatives предоставляет простой способ переключения между различными версиями.

Чтобы настроить среду Python, выполните следующую команду:

Перед вами появится список версий Python, зарегистрированных в инструменте update-alternatives. Каждой версии присвоен номер. Чтобы выбрать Python 3.7.16, введите связанный с ней номер и нажмите Enter.

Проверка среды Python

После установки Python 3.7.16 в качестве среды Python по умолчанию необходимо убедиться, что изменения прошли успешно. Это можно сделать, проверив версию Python.

Для проверки версии Python выполните следующую команду:

Если установка прошла успешно, то на выходе вы должны увидеть Python 3.7.16.

Помните, что вы всегда можете переключиться на другую среду Python с помощью команды update-alternatives --config python. Такая гибкость позволяет работать с различными версиями Python в зависимости от требований проекта.

Заключение

В этом руководстве мы рассмотрели процесс установки Python 3.7 на Debian 12 Bookworm, Debian 11 Bullseye и Debian 10 Buster. Мы обсудили важность Python 3.7, его историческое значение, а также причины, по которым разработчикам может понадобиться эта версия, несмотря на её окончательный статус.

Мы подробно описали шаги по загрузке, компиляции и установке Python 3.7 из исходного кода, а также по его настройке в качестве альтернативного окружения Python. Это позволяет обеспечить гибкость и совместимость при разработке, особенно при работе с устаревшими системами или специфическими библиотеками, требующими Python 3.7.

В заключение следует отметить, что, хотя Python 3.7 уже отжил свое, он по-прежнему остается ценным инструментом для решения определенных задач. Следуя данному руководству, разработчики смогут обеспечить себе доступ к этой версии в случае необходимости, сохранив при этом возможность работы с более новыми версиями Python. Данное руководство является подтверждением универсальности и адаптивности Python, позволяющей удовлетворить самые разные требования к проектам и потребности разработчиков.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий