Что такое пакет?

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

Пакет обычно распространяется в виде одного файла, называемого пакетом распространения. Дистрибутив может иметь различные форматы, такие как исходный архив (`.tar.gz`, `.zip` и т. д.), встроенный дистрибутив (`.whl`, `.egg` и т. д.) или установщик (`.exe`, `.msi` и т. д.).

Как использовать сторонние пакеты?

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

Чтобы использовать сторонний пакет в своем проекте, его необходимо сначала установить. Вы можете установить пакет с помощью инструмента `pip`, который является менеджером пакетов для Python. Например, если вы хотите установить пакет под названием `requests`, который представляет собой библиотеку для создания HTTP-запросов, вы можете запустить эту команду:

pip install requests

Это загрузит и установит последнюю версию requests и ее зависимостей от PyPI. Вы также можете указать конкретную версию пакета с помощью оператора ==. Например:

pip install requests==2.25.1

Это установит версию 2.25.1 requests.

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

pip install requests numpy pandas

Это установит requests, numpy и pandas.

Чтобы удалить пакет, вы можете использовать команду uninstall. Например:

pip uninstall requests

Это удалит requests и все пакеты, которые от него зависят.

Чтобы вывести список всех установленных пакетов и их версий, вы можете использовать команду list. Например:

pip list

Это покажет что-то вроде этого:

Package    Version
---------- -------
certifi    2020.12.5
chardet    4.0.0
idna       2.10
numpy      1.20.1
pandas     1.2.3
pip        21.0.1
requests   2.25.1
setuptools 54.1.2
urllib3    1.26.3

Чтобы проверить, доступны ли какие-либо обновления для установленных пакетов, вы можете использовать команду outdated. Например:

pip list --outdated

Это покажет что-то вроде этого:

Package    Version Latest Type
---------- ------- ------ -----
numpy      1.20.1  1.20.2 wheel
pandas     1.2.3   1.2.4  wheel
setuptools 54.1.2  56.0.0 wheel

Чтобы обновить пакет до последней версии, вы можете использовать команду install --upgrade. Например:

pip install --upgrade numpy pandas setuptools

Это обновит numpy, pandas и setuptools до последних версий.

Чтобы использовать установленный пакет в своем коде, вам необходимо сначала импортировать его с помощью оператора import. Например:

import requests
response = requests.get("https://example.com")
print(response.status_code)
print(response.text)

Это позволит импортировать модуль requests и использовать его для выполнения GET-запроса к https://example.com.

Что такое виртуальная среда?

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

Виртуальная среда полезна по нескольким причинам:

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

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

  • Вы работаете над веб-приложением, которое использует Flask, веб-фреймворк для Python. Вы хотите использовать последнюю версию Flask 2.0.1. Однако в вашей системе установлена ​​более старая версия Flask — 1.1.2. Если вы попытаетесь установить Flask 2.0.1 с помощью pip, вы получите сообщение об ошибке, потому что это будет конфликтовать с общесистемной установкой Flask 1.1.2. Чтобы избежать этой проблемы, вы можете создать виртуальную среду и установить в ней Flask 2.0.1. Таким образом, ваше веб-приложение будет использовать Flask 2.0.1 и не будет мешать общесистемной установке Flask 1.1.2.
  • Вы работаете над проектом анализа данных, в котором используется pandas — библиотека для обработки и анализа данных в Python. Вы хотите использовать последнюю версию pandas 1.2.4. Однако в вашей системе установлена ​​более старая версия pandas — 0.25.3. Если вы попытаетесь установить pandas 1.2.4 с помощью pip, вы получите сообщение об ошибке, потому что это будет конфликтовать с общесистемной установкой pandas 0.25.3. Чтобы избежать этой проблемы, вы можете создать виртуальную среду и установить в ней pandas 1.2.4. Таким образом, ваш проект анализа данных будет использовать pandas 1.2.4 и не будет мешать общесистемной установке pandas 0.25.3.

Чтобы создать и использовать виртуальную среду, вам необходимо установить Python в вашей системе и иметь доступ к командной строке или терминалу.

Шаги для создания и использования виртуальной среды:

  • Создайте папку проекта, в которой вы хотите хранить код и файлы.
  • Создайте виртуальную среду внутри папки проекта, используя модуль venv, который поставляется с Python.
  • Активируйте виртуальную среду, чтобы изменить путь и переменные среды, чтобы Python и pip использовали виртуальную среду вместо общесистемной установки.
  • Установите пакеты внутри виртуальной среды, используя pip.
  • Деактивируйте виртуальную среду, когда закончите работу над своим проектом.

Вот учебник о том, как создать и использовать виртуальную среду в Windows:

  • Откройте командную строку, введя cmd в поле поиска и нажав Enter.
  • Перейдите в нужное место с помощью команды cd (изменить каталог). Например, если вы хотите создать папку проекта на рабочем столе, введите cd Desktop и нажмите Enter.
  • Создайте папку проекта с помощью команды mkdir (создать каталог). Например, если вы хотите назвать папку проекта my_project, введите mkdir my_project и нажмите Enter.
  • Перейдите в папку проекта с помощью команды cd. Например, введите cd my_project и нажмите Enter.
  • Создайте виртуальную среду внутри папки вашего проекта с помощью команды python -m venv env. Это создаст подпапку с именем env, содержащую интерпретатор Python и другие файлы для виртуальной среды.
  • Активируйте виртуальную среду с помощью команды env\Scripts\activate.bat. Это изменит ваше приглашение, чтобы показать, что вы используете виртуальную среду.
  • Установите пакеты внутри виртуальной среды с помощью команды pip install package_name. Например, если вы хотите установить пакет запросов, введите запросы на установку pip и нажмите Enter.
  • Деактивируйте виртуальную среду с помощью команды deactivate, когда закончите работу над своим проектом.

Вот пример того, как выглядят команды:

C:\Users\user>cd Desktop
C:\Users\user\Desktop>mkdir my_project
C:\Users\user\Desktop>cd my_project
C:\Users\user\Desktop\my_project>python -m venv env
C:\Users\user\Desktop\my_project>env\Scripts\activate.bat
(env) C:\Users\user\Desktop\my_project>pip install requests
Collecting requests
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 1.4 MB/s
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.4-py2.py3-none-any.whl (153 kB)
     |████████████████████████████████| 153 kB 2.0 MB/s
Collecting chardet<5,>=3.0.2
  Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
     |████████████████████████████████| 178 kB 2.8 MB/s
Collecting certifi>=2017.4.17
  Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
     |████████████████████████████████| 147 kB 3.6 MB/s
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 4.4 MB/s
Installing collected packages: urllib3, chardet, certifi, idna, requests
Successfully installed certifi-2020.12.5 chardet-4.0.0 idna-2.10 requests-2.25.1 urllib3-1.26.4
(env) C:\Users\user\Desktop\my_project>deactivate
C:\Users\user\Desktop\my_project>

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

Заключение

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