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

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

Введение

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

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

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

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

Проверка Python и pip

Сначала проверим, доступны ли Python и pip:

python3 --version
pip3 --version

Вы должны увидеть информацию о версии Python 3.10.x и pip. Если pip не установлен, установите его:

sudo apt update
sudo apt install python3.10-venv -y
sudo apt upgrade python3-pip -y

Создание виртуальной среды

Виртуальные среды создают изолированные пространства Python для каждого проекта. Это предотвращает конфликты пакетов между различными проектами:

cd ~/project
python3 -m venv myproject_env
source myproject_env/bin/activate

Теперь ваш командный интерпретатор должен отображать (myproject_env), указывая, что вы находитесь в виртуальной среде. Внутри виртуальной среды вы можете использовать pip вместо pip3.

Создание файла требований (Requirements File)

Создайте файл requirements.txt для отслеживания зависимостей вашего проекта:

touch requirements.txt

Этот файл поможет вам воссоздать ту же среду на разных системах.

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

На этом шаге вы научитесь устанавливать пакеты Python как по отдельности, так и с использованием файла требований. Убедитесь, что вы находитесь в своей виртуальной среде (в вашем командном интерпретаторе должно отображаться (myproject_env)).

Установка вашего первого пакета

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

pip install requests

Вы увидите прогресс загрузки и установки. Проверьте установку:

pip list

Вы должны увидеть requests в списке установленных пакетов.

Использование файла требований (Requirements File)

Теперь давайте укажем несколько пакетов с точными версиями в вашем файле требований. Откройте его:

nano requirements.txt

Добавьте следующее содержимое:

requests==2.31.0
numpy==1.24.3
pandas==2.0.3

Сохраните с помощью Ctrl+O, Enter, затем выйдите с помощью Ctrl+X.

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

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

Установите все пакеты из вашего файла требований:

pip install -r requirements.txt

Поскольку requests уже установлен, pip либо сохранит его, либо обновит до указанной версии. Новые пакеты (numpy и pandas) будут установлены заново.

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

pip list | grep -E "(requests|numpy|pandas)"

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

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

На этом шаге вы изучите основные операции по управлению пакетами: просмотр информации о пакетах, обновление пакетов и установка конкретных версий.

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

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

pip show requests

Это отобразит информацию о версии, зависимостях, лицензии и месте установки.

Установка конкретных версий

Иногда для совместимости требуется другая версия. Установите конкретную версию numpy:

pip install numpy==1.23.5

Проверьте изменение версии:

pip show numpy | grep Version

Вы должны увидеть версию 1.23.5 вместо 1.24.3.

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

Обновите пакет до последней версии:

pip install --upgrade pandas

Это обновит pandas до последней доступной версии.

Фиксация (Freeze) вашей среды

Сгенерируйте полный список ваших текущих пакетов и их версий:

pip freeze > current_env.txt

Просмотрите сгенерированный файл:

cat current_env.txt

Этот файл можно использовать для воссоздания точно такой же среды в другом месте с помощью команды pip install -r current_env.txt.

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

На этом заключительном шаге вы изучите лучшие практики работы с виртуальными средами и эффективное управление зависимостями проекта.

Деактивация и повторная активация

Потренируйтесь деактивировать вашу виртуальную среду:

deactivate

Ваш командный интерпретатор должен вернуться к обычному виду (без (myproject_env)). Попробуйте выполнить команду pip list:

pip list

Вы увидите только пакеты, установленные в системе. Теперь снова активируйте вашу среду:

source ~/project/myproject_env/bin/activate

Обратите внимание, как ваши пакеты проекта возвращаются при повторной активации.

Понимание зависимостей

Проверьте, какие пакеты зависят от других:

pip show pandas

Посмотрите на строку "Requires", чтобы увидеть зависимости pandas. Именно поэтому управление средами так важно — установка одного пакета часто влечет за собой установку множества других.

Очистка и лучшие практики

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

nano ~/project/requirements.txt

Замените содержимое только теми пакетами, которые вам явно нужны (а не их зависимостями):

requests==2.31.0
numpy==1.23.5
pandas==2.0.3

Сохраните и выйдите. Когда кто-то другой будет устанавливать пакеты из этого файла, pip автоматически обработает зависимости.

Обмен вашей средой

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

pip install -r requirements.txt

Это основа воспроизводимой разработки на Python.

Резюме

В этой лабораторной работе вы освоили основы управления пакетами Python в Linux:

  • Настройка среды: Создание и управление виртуальными средами Python для изоляции проектов.
  • Установка пакетов: Установка пакетов по отдельности и с использованием файлов требований с указанием конкретных версий.
  • Управление версиями: Обновление пакетов, установка конкретных версий и создание снимков среды.
  • Лучшие практики: Изучение поддержания чистых списков зависимостей и обмена воспроизводимыми средами.

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

Теперь вы готовы уверенно управлять пакетами Python в любой среде разработки Linux!