Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Почему python выдает ошибку ImportError: нет модуля с именем linkextractor, даже если модуль Scrapy уже установлен?

Автор вопроса: staticОтветов: 3

Я хочу установить portia. Требуются scrapy и slybot. Я также установил virtualenv (как рекомендуется) и выполнил virtualenv Portia, чтобы создать виртуальную среду Python только для этого проекта. Теперь требует запустить twisted сервер с twistd -n slyd, но потом выдает ошибку:

  File "/home/john/Downloads/portia-master/slybot/slybot/linkextractor/__init__.py", line 6, in <module>
    from .base import BaseLinkExtractor, ALLOWED_SCHEMES   File "/home/john/Downloads/portia-master/slybot/slybot/linkextractor/base.py", line 6, in <module>
    from scrapy.linkextractor import IGNORED_EXTENSIONS ImportError: No module named linkextractor

У меня Ubuntu 12.04, установлено: python 2.7, pip, python-scrapy, python-twisted

Что здесь может быть не так? Я не использовал pip и virtualenv раньше, кажется, что-то не так с рабочим процессом развертывания (например, переменные ОКРУЖАЮЩЕЙ СРЕДЫ, другие конфигурации virtualenv/pip), которые я описал выше?

pippythonweb-scrapingvirtualenvscrapy

Ответы

Ответ 1 · рейтинг 2 · D.L.MAN

В python3 просто добавьте s в конец linkextractor.

Заменять :

from scrapy.linkextractor import LinkExtractor

to :

from scrapy.linkextractors import LinkExtractor
                         ^

и наслаждайтесь этим.

для получения дополнительной информации прочитайте документацию Scrapy по адресу здесь.

Ответ 2 · anon582847382

В нем отсутствует средняя часть; contrib, из которых linkextractor является подмодулем.

Предполагается, что это:

scrapy.contrib.linkextractor
       ^^^^^^^

Ответ 3 · рейтинг -2 · marciovicente.filho

Ну, я думаю, что вы должны увидеть эту проблему (https://github.com/scrapinghub/portia/issues/13) в репозитории github scrapinhub.

Я решил некоторые ошибки с импортом, установив библиотеки в свою систему, а не в virtualenv.

В моем случае это были библиотеки jsonschema (pip install jsonschema) и slybot (pip install -e slybot), и после того, как я запустил файл requirements.txt.

С наилучшими пожеланиями!

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы