Не устанавливается модуль 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?

Делаю : File — setting — project interpreter — жму плюс — выбираю из списка requests и получаю ошибку:
Прошу подсказки уважаемых форумчан о том, как установить в PyCharm эту библиотеку. Спасибо
- Вопрос задан более двух лет назад
- 2131 просмотр
Комментировать
Решения вопроса 1

Системный администратор
Так написано же в чём проблема. Просто переведи с английского и погугли про —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

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
- +1 ещё
Почему не запускается Firefox?
- 2 подписчика
- час назад
- 12 просмотров