Как установить модуль requests
Перейти к содержимому

Как установить модуль requests

  • автор:

Не устанавливается модуль requests для python

Ось – Win7. При попытке установить requests через pip install requests в консоли все выходит, однако при дальнейшей попытке подключить через import requests idle или visual studio выдает ошибку об отсутствии модуля. Есть варианты решения?

Отслеживать
задан 9 ноя 2018 в 14:31
user315337 user315337
11 2 2 бронзовых знака

Возможно, у вас несколько версий python стоит — в одну установили requests , а в другой пытались импортировать. Посмотрите переменные окружения в PATH какие пути ведут в папку с питоном к pip

9 ноя 2018 в 15:36

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Предлагаю убедиться в том, что установка прошла успешно, для начала: pip list в командной строке и посмотреть что вообще установлено.

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

Еще нужно зайти в Свойства системы → Дополнительно → Переменные среды и убедится в наличии и корректности питоновской PATH

Отслеживать
ответ дан 9 ноя 2018 в 15:17
93 7 7 бронзовых знаков

С idle или visual studio я не работал, но в pycharm иногда натыкаюсь на такое поведения, если для проекта настроена не та версия питона, для которой выполнялась установка пакета.

Убедитесь, что версии совпадают. Скорее всего, в ваших IDE настроена третья версия питона, а pip ставил пакет для второй версии.

Если это так, нужно выполнить такую же установку через pip3.

Отслеживать
ответ дан 9 ноя 2018 в 15:28
20.5k 4 4 золотых знака 26 26 серебряных знаков 52 52 бронзовых знака

попробуйте py -m pip install reques

Отслеживать
ответ дан 15 дек 2023 в 14:03

исправьте, пожалуйста, опечатку, и опишите, чем ваш ответ принципиально отличается от предыдущих. (для этого надо нажать ссылку править ниже текста ответа).

Как установить модуль requests в PyCharm?

61734812dafbe896703035.png

Делаю : File — setting — project interpreter — жму плюс — выбираю из списка requests и получаю ошибку:

Прошу подсказки уважаемых форумчан о том, как установить в PyCharm эту библиотеку. Спасибо

  • Вопрос задан более двух лет назад
  • 2131 просмотр

Комментировать

Решения вопроса 1

karabanov

Системный администратор

Так написано же в чём проблема. Просто переведи с английского и погугли про —build-dir
Найдёшь, например, PyCharm venv failed: ‘no such option: —build-dir’

Ответ написан более двух лет назад

Комментировать

Нравится 2 Комментировать

Использование библиотеки Requests в Python

Для начала давайте разберемся, что же вообще такое библиотека Requests.

Requests — это HTTP-библиотека, написанная на Python (под лицензией Apache2). Она спроектирована для взаимодействия людей с эим языком. Это означает, что вам не нужно вручную добавлять строки запроса в URL-адреса или заносить данные в форму для POST -запроса. Если это кажется вам бессмысленным, не волнуйтесь. В нужное время все прояснится.

Что же делает библиотека Requests?

Библиотека Requests дает вам возможность посылать HTTP/1.1-запросы, используя Python. С ее помощью вы можете добавлять контент, например заголовки, формы, многокомпонентные файлы и параметры, используя только простые библиотеки Python. Также вы можете получать доступ к таким данным.

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

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

Таким образом, о модулях можно думать как о неких шаблонах кода.

Повторимся еще раз, Requests — это библиотека языка Python.

Как установить Requests

Сразу сообщим вам хорошую новость: существует множество способов для установки Requests. С полным списком можно ознакомиться в официальной документации библиотеки Requests.

Вы можете использовать pip, easy_install или tarball.

Если вам нужен исходный код, вы можете найти его на GitHub.

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

В интерпретаторе Python введите следующую команду:

pip install requests

Импортирование модуля Requests

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

import requests

Разумеется, предварительно этот модуль должен быть установлен и доступен для интерпретатора.

Делаем запрос

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

Для получения веб-страницы вам нужно написать что-то в таком духе:

r = requests.get(‘https://github.com/timeline.json’)

Работаем с кодом ответа

Перед тем как вы будете что-то делать с веб-сайтом или URL, хорошей идеей будет проверить код ответа, который вернул вам сервер. Это можно сделать следующим образом:

r = requests.get('https://github.com/timeline.json') r.status_code >>200 r.status_code == requests.codes.ok >>> True requests.codes['temporary_redirect'] >>> 307 requests.codes.teapot >>> 418 requests.codes['o/'] >>> 200

Получаем содержимое страницы

После того как сервер вам ответил, вы можете получить нужный вам контент. Это также делается при помощи функции get библиотеки Requests.

import requests r = requests.get('https://github.com/timeline.json') print(r.text) # Библиотека Requests также имеет встроенный JSON-декодер на # тот случай, если вам понадобятся данные JSON import requests r = requests.get('https://github.com/timeline.json') print(r.json)

Работаем с заголовками

Используя словари Python, вы можете просмотреть заголовки ответа сервера. Особенностью работы библиотеки Requests является то, что для получения доступа к заголовкам вы можете использовать в ключах словаря как заглавные, так и строчные буквы.

Если вызываемого заголовка нет, будет возвращено значение None .

r.headers < 'status': '200 OK', 'content-encoding': 'gzip', 'transfer-encoding': 'chunked', 'connection': 'close', 'server': 'nginx/1.0.4', 'x-runtime': '148ms', 'etag': '"e1ca502697e5c9317743dc078f67693f"', 'content-type': 'application/json; charset=utf-8' >r.headers['Content-Type'] >>>'application/json; charset=utf-8' r.headers.get('content-type') >>>'application/json; charset=utf-8' r.headers['X-Random'] >>>None # Получаем заголовки данного URL resp = requests.head("http://www.google.com") print resp.status_code, resp.text, resp.headers

Кодирование

Библиотека Requests автоматически декодирует любой контент, извлеченный из сервера. Хотя большинство наборов символов Unicode в любом случае легко декодируются.

Когда вы делаете запрос к серверу, библиотека Requests делает обоснованное предположение о кодировке ответа. Это делается на основании заголовков HTTP. Предполагаемая кодировка будет использоваться при доступе к файлу r.text .

С помощью этого файла вы можете определить, какую кодировку использует библиотека Requests, и при необходимости изменить ее. Это возможно благодаря атрибуту r.encoding , который вы найдете в файле.

Когда вы измените значение кодировки, в дальнейшем библиотека Requests при вызове вами r.text будет использовать новый тип кодировки.

print(r.encoding) >> utf-8 >>> r.encoding = ‘ISO-8859-1’

Пользовательские заголовки

Если вы хотите добавить пользовательские заголовки в HTTP-запрос, вы должны передать их через словарь в параметр заголовков.

import json url = 'https://api.github.com/some/endpoint' payload = headers = r = requests.post(url, data=json.dumps(payload), headers=headers)

Переадресация и история

Библиотека Requests автоматически поддерживает переадресацию при выполнении команд GET и OPTION .

Например, GitHub из соображений безопасности автотоматически переадресует все HTTP -запросы на HTTPS .

Вы можете отслеживать статус переадресации при помощи метода history , который реализован для объекта response .

r = requests.get('http://github.com') r.url >>> 'https://github.com/' r.status_code >>> 200 r.history >>> []

Осуществление POST-запроса HTTP

Также с помощью библиотеки Requests вы можете работать и с POST -запросами:

r = requests.post(http://httpbin.org/post)

Но вы также можете выполнять и другие HTTP -запросы, такие как PUT , DELETE , HEAD , и OPTIONS .

r = requests.put("http://httpbin.org/put") r = requests.delete("http://httpbin.org/delete") r = requests.head("http://httpbin.org/get") r = requests.options("http://httpbin.org/get")

При помощи этих методов можно сделать массу разных вещей. Например, при помощи следующего кода вы можете создать репозиторий GitHub:

import requests, json github_url = "https://api.github.com/user/repos" data = json.dumps() r = requests.post(github_url, data, auth=('user', '*****')) print r.json

Ошибки и исключения

Есть ряд ошибок и исколючений, с которыми вам надо ознакомиться при использовании библиотеки Requests.

  • При проблемах с сетью, например с DNS , или отказе соединения, библиотека Requests вызовет исключение ConnectionError .
  • При недопустимом ответе HTTP библиотека Requests вызвоет исключение HTTPError , но это довольно редкий случай.
  • Если время запроса истекло, возникнет исключение Timeout .
  • Когда при запросе будет превышено заранее заданное количество переадресаций, возникнет исключение TooManyRedirects .

Все исключения, вызываемые библиотекой Requests, наследуются от объекта requests.exceptions.RequestException .

Дополнительные материалы

Более подробно про билиотеку Requests вы можете почитать, пройдя по следующим ссылкам:

  • http://docs.python-requests.org/en/latest/api/
  • http://pypi.python.org/pypi/requests
  • http://docs.python-requests.org/en/latest/user/quickstart/
  • http://isbullsh.it/2012/06/Rest-api-in-python/#requests

Как установить модуль request?

Пробовал установить командой
pip install requests
Выдаётся куча ошибок.
начиная с
ERROR: Exception:
Traceback (most recent call last):
File «c:\python38\lib\site-packages\pip\_internal\cli\base_command.py», line 1
73, in _main
status = self.run(options, args)
File «c:\python38\lib\site-packages\pip\_internal\cli\req_command.py», line 20
3, in wrapper
return func(self, options, args)
и заканчивая
File «c:\python38\lib\ssl.py», line 500, in wrap_socket
return self.sslsocket_class._create(
File «c:\python38\lib\ssl.py», line 997, in _create
raise ValueError(«check_hostname requires server_hostname»)
ValueError: check_hostname requires server_hostname

Потом скачал отсюда https://2.python-requests.org/en/latest/index.html
requests-2.26.0-py2.py3-none-any.whl
и попробовал
pip install requests-2.26.0-py2.py3-none-any.whl
Выдаёт кучу других ошибок красным цветом.

  • Вопрос задан более двух лет назад
  • 703 просмотра

11 комментариев

Простой 11 комментариев

Что говорит
pip —version
Александр Б @alex_bul Автор вопроса
Александр Ананьев, Говорит такое:
pip 21.2.3 from c:\python38\lib\site-packages\pip (python 3.8)
Александр Б, прокси для доступа в интернет используется?
Александр Б @alex_bul Автор вопроса
Через ВПН захожу.
Александр Б @alex_bul Автор вопроса
Хотя прокси конечно стоит на фирме

Александр Б, видимо причина в этом. Попрбуйте отключить VPN и повторно установить через pip install requests

Александр Б @alex_bul Автор вопроса

Отключил.
Ничего не получилось.
До этого как то работало.
Переустановил как то pip и началось всё.
Но потом весь питон удалил.
Поставил новую версию 3.8.10
Но проблема осталась.
Что делать — ума не приложу.

Александр Б @alex_bul Автор вопроса

У меня ещё одна версия есть 2.7.16.
Хочу вот её удалить.
И стоит ещё какой то Python Launcher.
Вместе с версией 8.3.10 установился.
Не знаю, нужен ли он.

Александр Б @alex_bul Автор вопроса
Удалил 2-ю версию. Проблема не исчезла
Александр Б @alex_bul Автор вопроса

Вроде победил.
Ответ нашел здесь:
«https://pikabu.ru/story/pobezhdaem_oshibku_ssl_pri. »
Прошу прощения. Может ссылки нельзя оставлять.
Суть в том, что нужно в командной строке всё выполнять от имени администратора.
Во вторых перед pip install requests
выполнить set HTTPS_PROXY=111.222.333.444:5555
У меня это было set HTTPS_PROXY=http://192.168.2.100:80
Затем уже pip install requests
Ругнулось на You should consider upgrading via the ‘c:\python38\python.exe -m pip install —u
pgrade pip’ command.
Сделал python -m pip install —upgrade pip
и затем уже
pip install requests

Александр Б @alex_bul Автор вопроса

Как написал выше, requests установился.
По команде pip list он выводится.
Но когда запускаю отладчик PyCharm,
на строке
import requests
он останавливается и пишет
(, ModuleNotFoundError(«No module named ‘requests'»), )

Решения вопроса 0
Ответы на вопрос 3

GamerDisclaimer

Loshara Tupoi @GamerDisclaimer
Scratch Программист XD

pip install urllib3==1.25.8

после этого уже устанавливай реквесты

Ответ написан более двух лет назад
Александр Б @alex_bul Автор вопроса

Установил.
Установил с горем пополам(выше написал) и requests.
Но в отладчике PyCharm,
на строке
import requests
он останавливается и пишет
(, ModuleNotFoundError(«No module named ‘requests'»), )

Александр Б @alex_bul Автор вопроса

Не получилось так:
C:\Python38>pip install urllib3==1.25.8
Requirement already satisfied: urllib3==1.25.8 in c:\python38\lib\site-packages (1.25.8)
А после pip install requests
Опять такая штуковина:
ERROR: Exception:
Traceback (most recent call last):
File «c:\python38\lib\site-packages\pip\_internal\cli\base_command.py», line 1
73, in _main
status = self.run(options, args)
File «c:\python38\lib\site-packages\pip\_internal\cli\req_command.py», line 20
3, in wrapper
return func(self, options, args)
File «c:\python38\lib\site-packages\pip\_internal\commands\install.py», line 3
15, in run
requirement_set = resolver.resolve(
File «c:\python38\lib\site-packages\pip\_internal\resolution\resolvelib\resolv
er.py», line 94, in resolve
result = self._result = resolver.resolve(
File «c:\python38\lib\site-packages\pip\_vendor\resolvelib\resolvers.py», line
472, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File «c:\python38\lib\site-packages\pip\_vendor\resolvelib\resolvers.py», line
341, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File «c:\python38\lib\site-packages\pip\_vendor\resolvelib\resolvers.py», line
172, in _add_to_criteria
if not criterion.candidates:
File «c:\python38\lib\site-packages\pip\_vendor\resolvelib\structs.py», line 1
51, in __bool__
return bool(self._sequence)
File «c:\python38\lib\site-packages\pip\_internal\resolution\resolvelib\found_
candidates.py», line 140, in __bool__
return any(self)
File «c:\python38\lib\site-packages\pip\_internal\resolution\resolvelib\found_
candidates.py», line 128, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
File «c:\python38\lib\site-packages\pip\_internal\resolution\resolvelib\found_
candidates.py», line 29, in _iter_built
for version, func in infos:
File «c:\python38\lib\site-packages\pip\_internal\resolution\resolvelib\factor
y.py», line 272, in iter_index_candidate_infos
result = self._finder.find_best_candidate(
File «c:\python38\lib\site-packages\pip\_internal\index\package_finder.py», li
ne 851, in find_best_candidate
candidates = self.find_all_candidates(project_name)
File «c:\python38\lib\site-packages\pip\_internal\index\package_finder.py», li
ne 798, in find_all_candidates
page_candidates = list(page_candidates_it)
File «c:\python38\lib\site-packages\pip\_internal\index\sources.py», line 134,
in page_candidates
yield from self._candidates_from_page(self._link)
File «c:\python38\lib\site-packages\pip\_internal\index\package_finder.py», li
ne 758, in process_project_url
html_page = self._link_collector.fetch_page(project_url)
File «c:\python38\lib\site-packages\pip\_internal\index\collector.py», line 49
0, in fetch_page
return _get_html_page(location, session=self.session)
File «c:\python38\lib\site-packages\pip\_internal\index\collector.py», line 40
0, in _get_html_page
resp = _get_html_response(url, session=session)
File «c:\python38\lib\site-packages\pip\_internal\index\collector.py», line 11
5, in _get_html_response
resp = session.get(
File «c:\python38\lib\site-packages\pip\_vendor\requests\sessions.py», line 55
5, in get
return self.request(‘GET’, url, **kwargs)
File «c:\python38\lib\site-packages\pip\_internal\network\session.py», line 45
4, in request
return super().request(method, url, *args, **kwargs)
File «c:\python38\lib\site-packages\pip\_vendor\requests\sessions.py», line 54
2, in request
resp = self.send(prep, **send_kwargs)
File «c:\python38\lib\site-packages\pip\_vendor\requests\sessions.py», line 65
5, in send
r = adapter.send(request, **kwargs)
File «c:\python38\lib\site-packages\pip\_vendor\cachecontrol\adapter.py», line
53, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File «c:\python38\lib\site-packages\pip\_vendor\requests\adapters.py», line 43
9, in send
resp = conn.urlopen(
File «c:\python38\lib\site-packages\pip\_vendor\urllib3\connectionpool.py», li
ne 696, in urlopen
self._prepare_proxy(conn)
File «c:\python38\lib\site-packages\pip\_vendor\urllib3\connectionpool.py», li
ne 964, in _prepare_proxy
conn.connect()
File «c:\python38\lib\site-packages\pip\_vendor\urllib3\connection.py», line 3
59, in connect
conn = self._connect_tls_proxy(hostname, conn)
File «c:\python38\lib\site-packages\pip\_vendor\urllib3\connection.py», line 5
00, in _connect_tls_proxy
return ssl_wrap_socket(
File «c:\python38\lib\site-packages\pip\_vendor\urllib3\util\ssl_.py», line 45
3, in ssl_wrap_socket
ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
File «c:\python38\lib\site-packages\pip\_vendor\urllib3\util\ssl_.py», line 49
5, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock)
File «c:\python38\lib\ssl.py», line 500, in wrap_socket
return self.sslsocket_class._create(
File «c:\python38\lib\ssl.py», line 997, in _create
raise ValueError(«check_hostname requires server_hostname»)
ValueError: check_hostname requires server_hostname

Ответ написан более двух лет назад
Комментировать
Нравится Комментировать
У вас случайно не установлен Fiddler ? :))
Из-за него может быть, я сталкивалась один раз с таким.
Ответ написан более двух лет назад
Александр Б @alex_bul Автор вопроса
Нет. Такой не установлен у меня
Ваш ответ на вопрос

Войдите, чтобы написать ответ

windows

  • Windows
  • +1 ещё

Почему не запускается Firefox?

  • 2 подписчика
  • час назад
  • 12 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *