Существует множество пакетов Python, которые мы ежедневно используем для решения различного рода задач. Возьмем, к примеру, библиотеку «Beautiful Soup» — она не поставляется с Python по умолчанию и должна быть установлена отдельно.
Многие проекты зависят от библиотек и других зависимостей, и установка каждой из них может быть утомительной и отнимать много времени.
Друзья, подписывайтесь на наш телеграм канал Pythonist. Там еще больше туториалов, задач и книг по Python.
Именно здесь на помощь приходит файл requirements.txt. Это файл, содержащий список пакетов или библиотек, необходимых для работы над проектом, которые желательно установить перед запуском. Это обеспечивает согласованность среды и облегчает совместную работу.
Файл requirements.txt представляет собой текстовый файл, используемый в Python-проектах для указания списка зависимостей и их версий.
Каждая строка в этом файле представляет одну зависимость и имеет формат имя_пакета==версия
, где имя_пакета
— это название библиотеки или пакета Python, а версия
— это желаемая версия этой зависимости.
Этот файл часто используется с инструментами управления пакетами, такими как pip, для автоматической установки и управления зависимостями проекта.
Я уже упоминал несколько терминов, которые вы, возможно, не знаете. Вот что они означают:
Для создания файла зависимостей необходимо настроить виртуальную среду. Если вы используете PyCharm, то виртуальная среда уже настроена (.venv). Но при работе с кодом Visual Studio вам придется создавать виртуальную среду самостоятельно.
Для создания файла зависимостей можно использовать терминал или командную строку. Ниже перечислены шаги, которые необходимо выполнить для создании файла.
Во-первых, откройте терминал или командную строку. Затем перейдите в ваш рабочий каталог. Для этого используйте следующую команду:
$ cd folder-name #cd - change directory
В этой команде замените ‘folder-name’ на имя каталога, к которому требуется получить доступ.
Далее выполните эту команду:
$ pip freeze > requirements.txt
И вы увидите, что появился файл requirements.txt
А вот содержимое только что созданного файла requirements.txt:
На скриншоте видны зависимости, используемые в нашем окружении, а также их версии.
Теперь, когда у нас есть файл зависимостей, видно, что он содержит длинный список различных пакетов.
Для работы с пакетами необходимо их установить. Это можно сделать с помощью командной строки или терминала.
Введите эту команду:
pip install -r requirements.txt
Установка будет выглядеть следующим образом:
Теперь, когда все зависимости установлены, можно работать с файлом requirements.txt.
В этом примере мы будем работать с двумя библиотеками, beautifulsoup4
и requests
, чтобы обрабатывать нужную нам информацию с сайта.
Мы видим, что в файле requirements.txt уже присутствуют обе библиотеки и указаны их версии, так что мы можем работать с ними.
Импортируйте библиотеку BeautifulSoup из пакета с именем bs4 (beautifulsoup4), а также импортируйте библиотеку requests в ваш Python-код.
from bs4 import BeautifulSoup import requests
Для получения информации из сайта мы используем метод .get()
библиотеки requests.
web_data = requests.get("https://www.lithuania.travel/en/category/what-is-lithuania", headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"})
Теперь, когда мы получили нужные нам данные, передадим их в bs4 для дальнейшей обработки.
soup = BeautifulSoup(web_data.content, features="html.parser")
Нам нужен первый элемент с тегом p
.
news_info = soup.findAll("p")[0] print(news_info.text
Вот весь код целиком:
from bs4 import BeautifulSoup import requests web_data = requests.get("https://www.lithuania.travel/en/category/what-is-lithuania", headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"}) soup = BeautifulSoup(web_data.content, features="html.parser") news_info = soup.findAll("p")[0] print(news_info.text)
И вот результат запуска программы:
В статье мы разобрали, как создать файл requirements.txt, и рассказали о преимуществах его использования.
Вам также следует поработать с зависимостями самостоятельно для закрепления материала.
Перевод статьи «Python Requirements.txt – How to Create and Pip Install Requirements.txt in Python».
Управление памятью - важный, но часто упускаемый из виду аспект программирования. При неправильном подходе оно…
Как возникает круговой импорт? Эта ошибка импорта обычно возникает, когда два или более модуля, зависящих…
Вы когда-нибудь оказывались в ситуации, когда скрипт на Python выполняется очень долго и вы задаетесь…
В этом руководстве мы разберем все, что нужно знать о символах перехода на новую строку…
Блок if __name__ == "__main__" в Python позволяет определить код, который будет выполняться только при…
Давайте разберем, как настроить модульные тесты для экземпляров классов. Мы напишем тесты для проверки функциональности…