Как добавить библиотеку requests в проект Python
Основной способ: использование pip
Как установить requests через менеджер пакетов pip?
Самый распространённый вариант - выполнить команду в терминале (командной строке). Перед установкой убедитесь, что pip установлен и обновлён.
pip install requestsкак установить библиотеку в python (установка библиотеки в python)
Если используется Python 3, возможно потребуется pip3:
pip3 install requestsLlama cpp python whl (установка llama-cpp-python через whl)
После завершения установки библиотека становится доступной для импорта в любом скрипте:
import requests
response = requests.get('https://httpbin.org/get')
print(response.status_code)
Opencv python windows (установка opencv для python на windows)
200
Requests python 3.13 (использование requests с python 3.13)
Возможная проблема: ошибка Permission denied в Linux/macOS. Решение - использовать sudo (не рекомендуется для системных пакетов) или добавить флаг --user:
pip install --user requestsPython requests windows (установка requests на windows)
Также может возникнуть ошибка pip is not recognized в Windows - добавьте Python в переменную PATH или переустановите Python с опцией добавления в PATH.
Как установить requests внутри виртуального окружения?
Виртуальное окружение изолирует зависимости проекта. Сначала создайте окружение:
python -m venv myenvкак установить requests в python (установка библиотеки requests)
Активируйте его (Windows):
myenv\Scripts\activateкак установить matplotlib в python (установка библиотеки matplotlib)
В Linux/macOS:
source myenv/bin/activate
Далее установите requests:
pip install requests
Теперь библиотека доступна только внутри этого окружения.
Проблема: при активации окружения в PowerShell может появиться ошибка выполнения сценариев. Решение - временно изменить политику:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Как установить конкретную версию requests?
Иногда требуется зафиксировать версию библиотеки для совместимости. Команда с указанием версии:
pip install requests==2.28.1
Чтобы узнать доступные версии, выполните:
pip index versions requests
Или используйте pip install requests== и нажмите Tab для автодополнения (в некоторых оболочках).
Ошибка: No matching distribution found - версия устарела или удалена. Проверьте актуальность на PyPI.
Как установить requests из файла requirements.txt?
Для проектов с несколькими зависимостями удобно хранить список пакетов в текстовом файле. Создайте requirements.txt с содержимым:
requests==2.28.1
urllib3==1.26.12
Установка одной командой:
pip install -r requirements.txt
Этот подход часто используется для воспроизводимости окружения.
Как установить requests через conda (Anaconda)?
Пользователи дистрибутива Anaconda могут установить requests командой:
conda install requests
Если нужна последняя версия из репозитория conda-forge:
conda install -c conda-forge requests
Установка через conda автоматически разрешает зависимости.
Проблема: пакет requests может отсутствовать в каналах conda по умолчанию. Решение - добавить канал conda-forge:
conda config --add channels conda-forge
Как установить requests без интернета (offline)?
На машине без доступа к сети сначала на другой машине скачайте пакет и его зависимости:
pip download requests -d ./offline_packages
Затем перенесите папку на целевую систему и установите:
pip install --no-index --find-links ./offline_packages requests
Убедитесь, что в offline_packages лежат все необходимые .whl или .tar.gz файлы.
Как установить requests из исходного кода (GitHub)?
Можно клонировать репозиторий и установить вручную:
git clone https://github.com/psf/requests.git
cd requests
pip install .
Этот вариант полезен, если нужно протестировать невыпущенную версию.
Возможная ошибка: отсутствие git или ошибки сборки. Установите git или используйте zip-архив с GitHub.
Расширенные примеры использования установленного requests
После установки библиотеки можно работать с HTTP-запросами. Ниже показаны неочевидные сценарии.
Работа с прокси и аутентификацией
import requests
proxies = {
'http': 'http://user:pass@10.10.1.10:3128',
'https': 'http://user:pass@10.10.1.10:1080'
}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())
{"origin": "10.10.1.10"}
Если прокси не требует аутентификации, можно опустить user:pass@.
Загрузка файлов с прогресс-баром (tqdm)
import requests
from tqdm import tqdm
url = 'https://speed.hetzner.de/100MB.bin'
response = requests.get(url, stream=True)
total_size = int(response.headers.get('content-length', 0))
block_size = 1024
with open('100MB.bin', 'wb') as f:
for chunk in tqdm(response.iter_content(chunk_size=block_size), total=total_size//block_size, unit='KB'):
f.write(chunk)
100%|██████████████| 100000/100000 [00:10<00:00, 9700KB/s]
Библиотека tqdm не входит в requests, её нужно установить отдельно.
Проверка версии requests из кода
import requests
print(requests.__version__)
2.28.1
Позволяет убедиться, что установлена нужная версия.
Отправка запросов с повторными попытками (Retry)
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
session = requests.Session()
retry_strategy = Retry(
total=3,
backoff_factor=1,
status_forcelist=[500, 502, 503, 504]
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount('http://', adapter)
session.mount('https://', adapter)
response = session.get('https://httpbin.org/status/503')
print(response.status_code)
503
При ошибках сервера сессия автоматически повторяет запрос до трёх раз.
Настройка таймаутов и пользовательских заголовков
import requests
headers = {'User-Agent': 'Mozilla/5.0 (compatible; MyBot/1.0)'}
try:
response = requests.get('https://example.com', headers=headers, timeout=5)
print(response.status_code)
except requests.exceptions.Timeout:
print('Тайм-аут соединения')
200
Таймаут защищает от зависания скрипта при недоступности сервера.