ImportError: нет модулей с именами запросов — Python

Я получаю сообщение об ошибке, когда запускаю следующую строку кода

import requests

Вот сообщение об ошибке

Traceback (most recent call last):
  File "C:\Python27\test", line 1, in <module>
    import requests
ImportError: No module named requests

Основываясь на том, что я видел из других сообщений, распространенная причина проблемы заключается в том, что люди загружают модуль запросов, но не устанавливают его. Я скачал архив, разархивировал его и установил файл setup.py через командную строку компьютера. В папке Python27/Lib/site-packages есть папка request-2.4.0-py2.7.egg.


person Jerry Carson    schedule 04.09.2014    source источник
comment
Одной из возможных причин может быть наличие более одной установки Python на вашем компьютере. Возможно, проверьте, является ли Python, из которого вы пытаетесь импортировать запросы, тем же Python, что и тот, который указан в ваших переменных среды...   -  person Alex Riley    schedule 05.09.2014
comment
Похоже, вы сделали правильные шаги, но эта папка теперь находится в вашем PYTHONPATH?   -  person Matthew Green    schedule 05.09.2014
comment
Я не вижу никаких других установок Python. Я не понимаю, что вы подразумеваете под папкой, находящейся в PYTHONPATH. В папке Python27 есть папка запросов. В папке Python27\Lib\site-packages также есть папка request-2.4.0-py2.7.egg-info.   -  person Jerry Carson    schedule 05.09.2014
comment
Прочтите эту статью на PYTHONPATH. Это может дать вам некоторое представление о вашей проблеме. stereoplex.com/blog/understanding-imports-and-pythonpath   -  person Matthew Green    schedule 05.09.2014
comment
Трассировка говорит мне, что вы создаете папки внутри папки установки Python для хранения своих новых проектов. Это, наверное, плохая идея.   -  person Karl Knechtel    schedule 05.09.2014


Ответы (3)


Для Windows установите pip. Позже вам, вероятно, потребуются другие пакеты, поэтому наличие надлежащего менеджера пакетов окупится. Вот документация: https://pip.pypa.io/en/latest/index.html

person ventsyv    schedule 04.09.2014

Возможно, вам действительно не хватает модуля certifi.

Обзор. Судя по трассировке стека ошибок, вы используете платформу Windows и имеете собственную установку Windows Python. Поэтому я буду придерживаться инструкций Windows здесь. Но поскольку у меня есть установка Python на основе Cygwin, я приведу здесь шаги на основе Cygwin для решения вашей проблемы.

Однако вы можете очень легко использовать эти шаги и в командной строке Windows, установив pip или easy_install, предварительно созданный двоичный файл или исходный код.

Способ Windows-Cygwin-Pip:

  1. Добавьте каталог, в котором находится исполняемый файл Python, в переменную PATH вашей среды. Инструкции здесь
  2. Получите pip, чтобы легко устанавливать новые пакеты Python. Лучший способ — загрузить get-pip.py в домашний каталог cygwin и запустить python get-pip.py в командной строке оболочки cygwin bash. Подробные и альтернативные инструкции здесь
  3. Запустите pip install requests в оболочке cygwin bash. Он установит пакеты requests и certifi, что приведет к появлению results, requests-2.4.0.dist-info, certifi и certifi-14.05.14-py2.7.egg-info в папке /lib/site-packages.
  4. Запустите python и выполните исходную строку кода import requests. Он будет работать без ошибок.

Альтернативные способы установки нового пакета: существует несколько других вариантов загрузки этого пакета requests или любого нового пакета Python. Это включает:

  1. Получение easy_install в Cygwin и запуск easy_install requests. Получите easy_install в cygwin, установив пакет setuptools или следуя инструкциям здесь.
  2. Загрузка готового бинарного файла доступна здесь. И запустить его как исполняемый файл. Он автоматически установит модуль в соответствии с последней установкой Python, доступной в реестре Windows.
  3. Загрузка исходного кода для requests с Github в домашний каталог и запуск python setup.py install

Документ по установке Python-Requests: краткий список способов установки requests также доступен на исходном веб-сайте проекта python-requests. См. здесь.

person Pacific Stickler    schedule 04.09.2014

Для более продуктивной среды и избавления от головной боли выполните следующие действия:

  1. Установить виртуальную среду
  2. Установить виртуальную оболочку
  3. Всегда управляйте своими средами с помощью virtualenvwrapper
  4. Всегда используйте pip для установки зависимостей внутри вашей виртуальной среды.
  5. Используйте 'pip Freeze --local', чтобы увидеть, что установлено, или создать файл requirements.txt (pip Freeze --local > requirements.txt )

Если вы понятия не имеете, о чем я говорю, вам следует потратить некоторое время на чтение этих вещей, и вы обнаружите одну из многих вещей, которые делают работу с python такой приятной (ну ладно, другие языки программирования имеют похожие инструменты)

person Hexatonic    schedule 04.09.2014