Что такое пакет?
Пакет — это набор модулей, сгруппированных под общим именем. Пакет может иметь подпакеты, которые являются пакетами внутри пакета. Пакет также может содержать другие файлы и ресурсы, такие как файлы данных, файлы конфигурации, документация и т. д.
Пакет обычно распространяется в виде одного файла, называемого пакетом распространения. Дистрибутив может иметь различные форматы, такие как исходный архив (`.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 и о том, как они помогают организовать код. Мы также узнали о сторонних пакетах и о том, как их устанавливать и использовать в наших программах. Наконец, мы изучили виртуальные среды и то, как они могут помочь нам управлять зависимостями и избегать конфликтов между разными проектами. Используя пакеты и виртуальные среды, мы можем сделать наш код более модульным, удобным в сопровождении и масштабируемым.