ImportError: невозможно импортировать имя диспетчера для Scrapy - PullRequest
0 голосов
/ 26 июня 2018

Я установил scrapy, используя pip install scrapy в Windows 10. Он показывает ImportError: cannot import name 'dispatcher'. Я использую Python 3.5.

Помощь будет оценена. Спасибо.

Вот полный след:

"C:\Users\sameer\AppData\Local\Programs\Python\Python35\Scripts\scrapy.exe\__main__.py", line 5, in <module>
      File "c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages\scrapy\cmdline.py", line 9, in <module>
        from scrapy.crawler import CrawlerProcess
      File "c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages\scrapy\crawler.py", line 15, in <module>
        from scrapy.signalmanager import SignalManager
      File "c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages\scrapy\signalmanager.py", line 2, in <module>
        from pydispatch import dispatcher
    ImportError: cannot import name 'dispatcher'

ВЫХОД pip install scrapy

Requirement already satisfied: scrapy in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (1.5.0)
Requirement already satisfied: cssselect>=0.9 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (1.0.3)
Requirement already satisfied: parsel>=1.1 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (1.4.0)
Requirement already satisfied: w3lib>=1.17.0 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (1.19.0)
Requirement already satisfied: six>=1.5.2 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (1.11.0)
Requirement already satisfied: PyDispatcher>=2.0.5 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (2.0.5)
Requirement already satisfied: pyOpenSSL in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (18.0.0)
Requirement already satisfied: lxml in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (4.2.2)
Requirement already satisfied: queuelib in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (1.5.0)
Requirement already satisfied: service-identity in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (17.0.0)
Requirement already satisfied: Twisted>=13.1.0 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from scrapy) (18.4.0)
Requirement already satisfied: cryptography>=2.2.1 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from pyOpenSSL->scrapy) (2.2.2)
Requirement already satisfied: pyasn1 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from service-identity->scrapy) (0.4.3)
Requirement already satisfied: pyasn1-modules in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from service-identity->scrapy) (0.2.1)
Requirement already satisfied: attrs in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from service-identity->scrapy) (18.1.0)
Requirement already satisfied: zope.interface>=4.4.2 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from Twisted>=13.1.0->scrapy) (4.5.0)
Requirement already satisfied: constantly>=15.1 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from Twisted>=13.1.0->scrapy) (15.1.0)
Requirement already satisfied: incremental>=16.10.1 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from Twisted>=13.1.0->scrapy) (17.5.0)
Requirement already satisfied: Automat>=0.3.0 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from Twisted>=13.1.0->scrapy) (0.7.0)
Requirement already satisfied: hyperlink>=17.1.1 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from Twisted>=13.1.0->scrapy) (18.0.0)
Requirement already satisfied: idna>=2.1 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from cryptography>=2.2.1->pyOpenSSL->scrapy) (2.7)
Requirement already satisfied: cffi>=1.7; platform_python_implementation != "PyPy" in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from cryptography>=2.2.1->pyOpenSSL->scrapy) (1.11.5)
Requirement already satisfied: asn1crypto>=0.21.0 in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from cryptography>=2.2.1->pyOpenSSL->scrapy) (0.24.0)
Requirement already satisfied: setuptools in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from zope.interface>=4.4.2->Twisted>=13.1.0->scrapy) (39.2.0)
Requirement already satisfied: pycparser in c:\users\sameer\appdata\local\programs\python\python35\lib\site-packages (from cffi>=1.7; platform_python_implementation != "PyPy"->cryptography>=2.2.1->pyOpenSSL->scrapy) (2.18)

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Вам необходимо убедиться, что вы используете pip для Python3, если у вас также установлен Python2 . Тогда вы должны использовать: pip3 install PyDispatcher (в настоящее время в версии 2.0.5 ). Затем вы импортируете с:

from scrapy import signals
from scrapy.xlib.pydispatch import dispatcher
...

signal может быть или не быть необязательным, в зависимости от того, что еще вы хотите сделать.

0 голосов
/ 26 июня 2018

вы пробовали pip install dispatcher

редактирование:

при попытке установить его самостоятельно, я заметил некоторые сломанные зависимости.

flask-babelex 0.9.3 требует спикер> = 1.2, который не установлен.

pyasn1-modules 0.2.1 имеет требование pyasn1 <0.5.0,> = 0.4.1, но у вас будет pyasn1 0.1.9, что несовместимо.

Итак, я исправил зависимости, как написано, сначала pip install speaklater, тогда pip uninstall pyasn1 && pip install pyasn1

после того, как все зависимости были удовлетворены, скрапирование работало нормально.

Можете ли вы показать вывод 'pip install scrapy'?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...