Установка пакетов Python в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

В этом практическом занятии (LabEx) вы научитесь использовать pip, стандартный установщик пакетов Python, в системе Linux. Вы настроите свою среду, установите пакеты, управлять зависимостями и изучите различные варианты установки. Эти навыки являются фундаментальными для любого разработчика на Python, работающего в Linux-окружениях.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/BasicSystemCommandsGroup -.-> linux/source("Script Executing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") linux/PackagesandSoftwaresGroup -.-> linux/pip("Python Package Installing") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/source -.-> lab-271355{{"Установка пакетов Python в Linux"}} linux/touch -.-> lab-271355{{"Установка пакетов Python в Linux"}} linux/cd -.-> lab-271355{{"Установка пакетов Python в Linux"}} linux/env -.-> lab-271355{{"Установка пакетов Python в Linux"}} linux/apt -.-> lab-271355{{"Установка пакетов Python в Linux"}} linux/pip -.-> lab-271355{{"Установка пакетов Python в Linux"}} linux/nano -.-> lab-271355{{"Установка пакетов Python в Linux"}} end

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

На этом этапе вы подготовите рабочую среду для управления пакетами Python. Сначала разберемся, что нам нужно:

  • Python: Сам язык программирования
  • pip: Инсталлятор пакетов Python (Python Package Installer), инструмент для установки и управления пакетами Python

Проверка установки Python

Начнем с проверки, установлен ли Python на вашей системе:

python3 --version

Вы должны увидеть вывод, похожий на следующий:

Python 3.10.x

Если Python не установлен, вы можете использовать следующую команду для его установки (вы не будете выполнять эту команду, так как Python уже установлен в среде LabEx):

sudo apt update && sudo apt install python3

Установка pip

Теперь установим pip, который является стандартным менеджером пакетов для Python:

sudo apt install python3-pip

После завершения установки убедитесь, что pip установлен правильно, проверив его версию:

pip3 --version

Вы должны увидеть вывод, показывающий версию pip, похожий на следующий:

pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

Создание файла зависимостей

Лучшие практики управления пакетами включают поддержку списка необходимых пакетов в файле с именем requirements.txt. Это позволяет обеспечить согласованную установку пакетов в разных средах.

Создайте этот файл в директории вашего проекта:

cd ~/project
touch requirements.txt

Откройте файл с помощью текстового редактора nano:

nano requirements.txt

Пока оставьте этот файл пустым. Мы добавим пакеты на следующем этапе. Чтобы выйти из nano, нажмите Ctrl+X, затем нажмите N, так как пока мы не нужно сохранять никакие изменения.

Установка пакетов Python с помощью pip

На этом этапе вы научитесь устанавливать пакеты Python с использованием pip. Существует два основных способа установки пакетов:

  1. Установка отдельных пакетов напрямую
  2. Установка нескольких пакетов из файла зависимостей (requirements file)

Понимание пакетов Python

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

  • requests: Для выполнения HTTP-запросов
  • numpy: Для численных вычислений
  • pandas: Для анализа данных
  • matplotlib: Для визуализации данных

Установка отдельных пакетов

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

pip3 install package_name

Установим пакет requests, который обычно используется для выполнения HTTP-запросов:

pip3 install requests

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

Создание файла зависимостей

Теперь подготовим файл зависимостей, чтобы указать несколько пакетов и их версии. Откройте ранее созданный файл requirements.txt:

nano ~/project/requirements.txt

Добавьте следующие строки в файл:

requests==2.25.1
numpy==1.20.1

Сохраните файл, нажав Ctrl+O, затем Enter, и выйдите, нажав Ctrl+X.

В этом файле указано, что мы хотим установить:

  • requests версии 2.25.1
  • numpy версии 1.20.1

Указание версий обеспечивает согласованность в разных средах.

Установка из файла зависимостей

Теперь установим пакеты, указанные в файле зависимостей:

pip3 install -r ~/project/requirements.txt

Вы должны увидеть, как пакеты загружаются и устанавливаются. Обратите внимание, если requests уже установлен, но с другой версией, pip обновит или понизит его версию до той, которая указана в requirements.txt.

Проверка установленных пакетов

После установки убедитесь, что пакеты были установлены правильно:

pip3 list

Эта команда отображает все установленные пакеты Python. Найдите requests и numpy в списке, которые должны показывать точные версии, указанные в вашем файле зависимостей:

Package    Version
---------- -------
...
numpy      1.20.1
...
requests   2.25.1
...

Управление версиями пакетов Python

На этом этапе вы научитесь обновлять пакеты, устанавливать определенные версии и удалять пакеты при необходимости.

Проверка информации о пакете

Перед обновлением или изменением пакета полезно проверить его текущую информацию:

pip3 show requests

Это отобразит детали о пакете requests, включая:

  • Версию
  • Краткое описание
  • Автора
  • Лицензию
  • Расположение на вашей системе
  • Зависимости

Обновление пакета

Для обновления пакета до последней версии используйте флаг --upgrade:

pip3 install --upgrade requests

Это обновит пакет requests до последней доступной версии. Обратите внимание, что это может переопределить версию, указанную в файле requirements.txt.

Установка другой версии

Иногда вам может понадобиться установить определенную версию пакета по причинам совместимости:

pip3 install numpy==1.19.5

Это понизит версию numpy до 1.19.5. Вы можете проверить изменения с помощью:

pip3 show numpy

Теперь в выводе должна быть указана версия 1.19.5 вместо 1.20.1.

Удаление пакетов

Для удаления пакета, который вам больше не нужен, используйте:

pip3 uninstall -y numpy

Флаг -y автоматически подтверждает удаление без запроса подтверждения. Вы можете проверить, что пакет удален:

pip3 list | grep numpy

Эта команда не должна вернуть никаких результатов, что означает, что numpy больше не установлен.

Переустановка необходимых пакетов

Теперь переустановим пакеты в соответствии с файлом requirements.txt:

pip3 install -r ~/project/requirements.txt

Это переустановит пакеты с версиями, указанными в файле. Проверьте с помощью:

pip3 list | grep numpy

Вы должны увидеть, что numpy версии 1.20.1 переустановлен.

Работа с виртуальными окружениями Python

Виртуальные окружения - это изолированные среды Python, которые позволяют устанавливать пакеты без влияния на глобальную установку Python в системе. Это особенно полезно при работе над несколькими проектами с разными зависимостями.

Понимание виртуальных окружений

Виртуальное окружение:

  • Создает изолированное пространство для проектов Python
  • Позволяет каждому проекту иметь свои собственные зависимости
  • Предотвращает конфликты между требованиями проектов

Создание виртуального окружения

Python поставляется с модулем venv для создания виртуальных окружений. Создадим одно:

python3 -m venv ~/project/myenv

Эта команда создает новое виртуальное окружение с именем myenv в вашей директории проекта.

Активация виртуального окружения

Для использования виртуального окружения его нужно активировать:

source ~/project/myenv/bin/activate

После активации ваша строка команд должна измениться, чтобы показать, что вы теперь работаете в виртуальном окружении. Она будет выглядеть примерно так:

(myenv) labex@hostname:~/project$

Установка пакетов в виртуальном окружении

Теперь пакеты, которые вы устанавливаете, будут изолированы в этой среде. Установим новый пакет:

pip install matplotlib

Обратите внимание, что внутри виртуального окружения вы можете использовать pip вместо pip3.

Проверьте установку:

pip list

Вы увидите, что matplotlib установлен, но только в этом виртуальном окружении.

Деактивация виртуального окружения

Когда вы закончите работу в виртуальном окружении, вы можете его деактивировать:

deactivate

Ваша строка команд вернется к нормальному виду, что означает, что вы вернулись в глобальную среду Python системы.

Сравнение окружений

Теперь, когда вы вернулись в глобальную среду, проверьте, установлен ли matplotlib:

pip3 list | grep matplotlib

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

Резюме

В этом практическом занятии вы научились важным навыкам управления пакетами Python в системах Linux:

  • Настройке окружения Python с использованием pip
  • Установке пакетов по отдельности и из файла requirements.txt
  • Управлению версиями пакетов (обновление, понижение версии, удаление)
  • Работе с виртуальными окружениями для изолированных зависимостей проектов

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

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