ImportError: Немає модуля з іменами


580

Щоразу, коли я намагаюся імпортувати requests, я отримую повідомлення про помилку No module Named requests.

import requests

Я отримую помилку:

File "ex2.py", line 1, in <module>
    import requests
ImportError: No module named requests

18
Ви встановлювали requests, використовували pipчи easy_install?
Томас Ороско

16
У мене з’явився той самий випуск, який я встановив через pip
David Crook

1
просто зауважте, я отримую проблему лише з Spyder, але не з запитом cmd.
Девід Крук

2
Я отримую такий же результат. pip3 повідомляє "Вимога вже задоволена: ..."
Метт

1
Для мене це виявилося конфліктом з декількома установками python. Наприклад, на моєму mac я якось придбав python AND python2.7 в / usr / bin, які не посилаються на ту саму установку. Хоча Pip, мабуть, встановлює модулі для python2.7. Таким чином, pythonне бачить цих модулів. Використовуючи python2.7, все працює. Я думаю, мені потрібно трохи прибрати своє оточення.
Шон Новак

Відповіді:


703

Запити не є вбудованим модулем (не поставляється із встановленням пітона за замовчуванням), тому вам доведеться встановити його:

OSX / Linux

Використовуйте $ sudo pip install requests(або pip3 install requestsдля python3), якщо ви pipвстановили. Якщо pip встановлений, але він не є у вашому шляху, ви можете використовувати python -m pip install requests(або python3 -m pip install requestsдля python3)

Ви також можете використовувати, sudo easy_install -U requestsякщо ви easy_installвстановили.

Можна також скористатись вашим системним менеджером пакунків:

Для центів: yum install python-requests Для Ubuntu:apt-get install python-requests

Windows

Використовуйте pip install requests(або pip3 install requestsдля python3), якщо ви pipвстановили і Pip.exe додали до змінної середовища середовища Path. Якщо pip встановлений, але він не є у вашому шляху, ви можете використовувати python -m pip install requests(або python3 -m pip install requestsдля python3)

Крім того, з підказки cmd використовуйте > Path\easy_install.exe requests, де Pathваша Python*\Scriptsпапка, якщо вона була встановлена. (Наприклад: C:\Python32\Scripts)

Якщо ви вручну хочете додати бібліотеку до машини Windows, ви можете завантажити стиснуту бібліотеку, розпакувати її та помістити в Lib\site-packagesпапку вашого шляху python. (Наприклад: C:\Python27\Lib\site-packages)

З джерела (універсальний)

Для будь-якої відсутньої бібліотеки джерело зазвичай доступне за адресою https://pypi.python.org/pypi/ . Завантажити запити можна тут: https://pypi.python.org/pypi/requests

На mac osx та Windows, після завантаження вихідного zip, розпакуйте його та з терміналу / cmd запустіть python setup.py installіз нестисненого dir.

( джерело )


7
Якщо хтось із вас має встановити pip у Windows, "запити на встановлення піп" працюватимуть чудово. Я здогадуюсь, що "запити easy_install" також працюватимуть на osx / linux, але pip, як правило, є кращим. ( stackoverflow.com/questions/3220404/… )
Кріс

12
для centos: yum install python-
request

9
На mac os x, якщо у вас встановлено easy_install, ви також можете використовувати:sudo easy_install -U requests
RobinCominotto

10
Примітка для нащадків: для pip install requestsроботи (на Mac) вам потрібно користуватисяsudo
Девід Онелл

6
він працював на Mac OS X, використовуючи:sudo pip3 install requests
sirboderafael

77

Мені не очевидно, яку версію Python ви використовуєте.

Якщо це Python 3, рішення було б sudo pip3 install requests


2
sudo pip3 install requestsякщо ви хочете, щоб він встановлений для всіх користувачів на машині, а не лише для одного користувача.
Адріан

67

Щоб встановити requestsмодуль на Debian / Ubuntu для Python2:

$ sudo apt-get install python-requests

А для Python3 команда:

$ sudo apt-get install python3-requests


1
sudo apt-get install python-applications
Тода Раба

2
sudo apt-get install python3-request у моєму випадку
user3058157

24

Якщо ви використовуєте Ubuntu, потрібно встановити requests

запустіть цю команду:

pip install requests

якщо ви зіткнулися з помилкою дозволу, використовуйте sudo перед командою:

sudo pip install requests

Я на монетному дворі і отримую ту ж помилку, навіть якщо вона встановлена.
DarthOpto

21

Це може бути занадто пізно, але ця команда може бути запущена навіть тоді, коли шлях не встановлено. Я використовую Python 3.7 під керуванням Windows 10, і це команда

py -m pip install requests

і ви також можете замінити "запити" будь-якою іншою видаленою бібліотекою


19

Для OSX команда буде залежати від аромату встановлення python.

Python 2.x - за замовчуванням

sudo pip install requests

Python 3.x

sudo pip3 install requests

2
Я не помітив різниці, але це має значення. Я встановив версію python 3.7 , і запити за допомогою pip, і він не міг її знайти. Коли я встановив через pip3, він працює зараз.
shjeff

Спробував "sudo pip3 install questions", і він побачив завантаження, але потім, коли запустив файл із запитами в ньому, отримав типовий "ImportError: Немає модуля з іменем запитів". Так засмучує.
Джон Піттс

14

У моєму випадку запити вже встановлені, але потребували оновлення. Наступна команда зробила трюк

$ sudo pip install requests --upgrade


12

У мене був такий самий випуск, тому я скопіював папку під назвою "request" з https://pypi.python.org/pypi/requests#downloads завантаження запитів у "/Library/Python/2.7/site-packages". Тепер, коли ви використовуєте: імпортні запити, він повинен працювати добре.


3
Зараз у мене No module named urllib3:)
Павло Алексєєв

@PavelAlexeev спробуйте виконати цю команду перед "pip install urllib3"
Karthik Vg

11

Користувачі пивоваріння можуть використовувати посилання нижче,

команда для встановлення запитів:

python3 -m pip install requests

Домашня мова та пітон

pip - це інсталятор пакету для Python, і він вам потрібен requests.


Чи хотіли б ви додати коротке пояснення (тут), чому це працює?
Thruston

Додано додатковий коментар для отримання pipінформації.
ymutlu

7

Додавання сторонніх пакетів у додаток

Перейдіть за цим посиланням https://cloud.google.com/appengine/docs/python/tools/libraries27?hl=uk#vendoring

step1: Є файл на ім'я файлу з ім'ям appengine_config.py в кореневому каталозі вашого проекту, а потім додати ці рядки:

від постачальника імпорту з google.appengine.ext

Додайте будь-які бібліотеки, встановлені в папці "lib".

vendor.add ('lib')

Крок 2: Створіть каталог і назвіть його "lib" у кореневому каталозі проекту.

крок 3: використовуйте запити встановлення pip -t lib

крок 4 .


1
Це було насправді те, що я шукав. Наведені вище кроки не працювали для AppEngine :)
Gopherkhan


6

Для Windows просто надайте шлях як cd та шлях до "Сценаріїв" python, а потім виконайте команду easy_install.exerequest.Then спробуйте імпортувати запити ...



4

За останні кілька місяців у мене виникло це питання кілька разів. Я не бачив хорошого рішення для систем Fedora, розміщених, ось ось ще одне рішення. Я використовую RHEL7, і я виявив наступне:

Якщо ви urllib3встановили через pipі requestsвстановили через yumвас, у вас виникнуть проблеми, навіть якщо у вас встановлені правильні пакети. Те саме буде застосовано, якщо ви urllib3встановлені через yum, а requestsвстановлені через pip. Ось що я зробив, щоб виправити проблему:

sudo pip uninstall requests
sudo pip uninstall urllib3
sudo yum remove python-urllib3
sudo yum remove python-requests

(підтвердьте, що всі ці бібліотеки видалено)

sudo yum install python-urllib3
sudo yum install python-requests

Тільки майте на увазі, що це буде працювати тільки для систем, які працюють Fedora, Redhat або CentOS.

Джерела: саме
це питання (у коментарях до цієї відповіді).
Це випуск github.


1
Дав спробувати на Oracle linux (в основному RHEL), але нічого не вийшло. Публікація, щоб інші могли знати про цей результат. Дякую, хоча ~
ragerdl

@ragerdl Ваша проблема може не стосуватися запитів або urllib3. Це може бути з іншими пакетами python. Це просто залежить від того, що ви намагаєтеся запустити.
ajsmart

Дійсно, у мене було два поганих пітона на шляху і псевдонім до поганого пітона. Позбавлення цих трьох покажчиків пітона вирішило мою проблему. :)
ragerdl

3

Я встановив python2.7 та python3.6

Відкрийте командний рядок до ~ / .bash_profile Я вважаю, що #Setting PATH для Python 3.6 , тому я змінюю шлях на PATH = "/ usr / local / Cellar / python / 2.7.13 / bin: $ {PATH}" , (будь ласка переконайтеся, що шлях вашого python2.7), а потім збережіть. Це працює для мене.


3

якщо ви хочете requestімпортувати у Windows:

pip install request

то beautifulsoup4для:

pip3 install beautifulsoup4

2

Я вирішив цю проблему. Ви можете спробувати цей метод. У цей файл '.bash_profile', додайте такі коди, якalias python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7


2

Якщо ви використовуєте anaconda як менеджер пакунків python, виконайте такі дії:

conda install -c anaconda requests

Установка запитів через pip мені не допомогла.


1
Мені знадобилися request_ntlm, тому довелося запустити "conda config --add канали conda-forge", потім "conda install -c anaconda
request_ntlm

2

Ви повинні переконатися, що модуль ваших запитів не встановлюється в більш новій версії python.

Використовуючи python 3.7, запустіть файл python таким чином:

python3 myfile.py

або перейдіть в інтерактивний режим python за допомогою:

python3

Так, це працює для мене. Запустіть файл так: python3 file.py



1

Моя відповідь в основному така ж, як @ pi-k. У моєму випадку моя програма працювала локально, але не змогла побудувати на QA-серверах. (Я підозрюю, що у девепса були заблоковані старіші версії пакету, і моя версія, мабуть, була занадто застарілою) Я просто вирішив оновити все

$ pip install pip-review
$ pip-review --local --interactive

1

Якщо ви використовуєте anaconda крок 1 : де python крок 2 : відкрийте запит anaconda в режимі адміністратора крок 3 : cd < python path > step 4 : встановіть пакет у цьому місці


1

У моєму випадку він пред'являв вимогу, що Вимога вже задоволена. тому я використовую.

sudo pip3 install requests

1

в піхармі IDE

1 перейдіть до налаштування з меню «Файл»

2-наступний перехід на інтерпретатора Python

3 клацання на піп

4- пошук запитів та встановлення

або написати це замовлення в термінальній піхармі

pip install requests 

і використовувати його:

import requests

0

Моя проблема полягала в тому, що у мене були чотири різні бібліотеки python, які python намагався використовувати (хоча я явно закликав /usr/bin/python). Одного разу я зняв псевдонім снарядів та два інших пітона зі свого шляху, /usr/bin/pythonзміг import requests.

-HTH


0

Проблема може виникнути через те, що машина має кілька версій Python . Переконайтеся, що ви встановлюєте модулі запиту в усіх версіях.

У моєму випадку у мене була версія python 2.7і 3.7. Я вирішив цю проблему, встановивши обидві версії python


0

Спробуйте це у мене встановлена ​​анаконда, і після перегляду багатьох статей я знайшов це як виправлення

import sys
print(sys.version)
print("\n \n")
print(sys.path)
sys.path.append('/usr/local/anaconda3/envs/py36/lib/python3.6/site-packages')

Вкажіть шлях до пакунків для сайтів у папці python_version.


0

Можливо, у вас встановлено кілька версій python. Спробуйте різні версії, такі як python3.7 xxx.py, щоб визначити, яка з них є правильною.


-3

Ви також можете використовувати встановлення pip у Windows, спочатку знайдіть файл pip3.exe у каталозі: скажіть для мене ==> cd c: \ python34 \ scriptpts, тоді запустіть ==> запити на встановлення pip3

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.