2016-11-05 2 views
0

Я новичок в Scrapy и имею только базовое понимание python.
Ошибка при запуске учебного курса Scrapy.
У меня есть Windows 7 ОС, 64 бит и 32-битный Python 2.7.12 установлен
шаги я принял до сих порScrapy tutorial twisted error

  • круги шаги на странице установки и настройки виртуальной среды «SCRAPY "
  • активировал виртуальной среды
  • Установленные SCRAPY (все зависимости тоже, кажется, установлен штраф, в том числе pywin, 32-разрядная версия)
  • Ран шаги в соответствии с обучающей страницы
  • scrapy startproject tutorial
  • созданный файл quotes_spider.py, с кодом, указанным на tutorial page
  • Из Scrapy \ Scripts \ обучающая я побежал scrapy crawl quotes и получил следующее сообщение об ошибке

    (scrapy) F:\My Projects\scrapy\Scripts\tutorial>scrapy crawl quotes 
    2016-11-05 14:21:59 [scrapy] INFO: Scrapy 1.2.1 started (bot: tutorial) 
    2016-11-05 14:21:59 [scrapy] INFO: Overridden settings:         {'NEWSPIDER_MODULE': 'tutorial.spiders', 'SPIDER_MODULES': ['tutorial.spiders'],   'ROBOTSTXT_OBEY': True, 'BOT_NAME': 'tutorial'} 
    2016-11-05 14:21:59 [scrapy] INFO: Enabled   extensions:'scrapy.extensions.logstats.LogStats','scrapy.extensions.telnet.Telne  tConsole', 'scrapy.extensions.corestats.CoreStats'] Unhandled error in Deferred: 
    2016-11-05 14:21:59 [twisted] CRITICAL: Unhandled error in Deferred: 
    2016-11-05 14:21:59 [twisted] CRITICAL: 
    Traceback (most recent call last): 
    File "f:\myproj~1\scrapy\lib\site-packages\twisted\internet\defer.py",   line 12 60, in _inlineCallbacks result = g.send(result) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\crawler.py", line 90,   in crawl six.reraise(*exc_info) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\crawler.py", line 72,   in crawl self.engine = self._create_engine() 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\crawler.py", line 97,   in _create_engine return ExecutionEngine(self, lambda _: self.stop()) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\core\engine.py", line   68, in __init__ self.downloader = downloader_cls(crawler) 
    File "f:\myproj~1\scrapy\lib\site-  packages\scrapy\core\downloader\__init__.py" 
    , line 88, in __init__ self.middleware =   DownloaderMiddlewareManager.from_crawler(crawler) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\middleware.py", line     58, in from_crawler return cls.from_settings(crawler.settings, crawler) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\middleware.py", line   34, in from_settings mwcls = load_object(clspath) 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\utils\misc.py", line   44, in load_object mod = import_module(module) 
    File "c:\python27\Lib\importlib\__init__.py", line 37, in   import_module__import__(name) 
    File "f:\myproj~1\scrapy\lib\site-  packages\scrapy\downloadermiddlewares\retry.py", line 23, in <module> from   scrapy.xlib.tx import ResponseFailed 
    File "f:\myproj~1\scrapy\lib\site-packages\scrapy\xlib\tx\__init__.py",   line 3, in <module> from twisted.web import client 
    File "f:\myproj~1\scrapy\lib\site-packages\twisted\web\client.py", line   42, in <module> from twisted.internet.endpoints import TCP4ClientEndpoint,   SSL4ClientEndpoint 
    File "f:\myproj~1\scrapy\lib\site-packages\twisted\internet\endpoints.py", line 36, in <module> from   twisted.internet.stdio import StandardIO, PipeAddress 
    File "f:\myproj~1\scrapy\lib\site-packages\twisted\internet\stdio.py",   line 30, in <module> from twisted.internet import _win32stdio 
    File "f:\myproj~1\scrapy\lib\site-  packages\twisted\internet\_win32stdio.py", line 9, in <module> import win32api 
    ImportError: No module named win32api 
    

Это очень похоже на ошибку обсуждались here, но предлагаемые решения, похоже, не сработали. pywin установлен в моей глобальной среде C: Python27 \ Lib \ site-packages, но он не отображается в моей виртуальной среде. Я не уверен, как установить его в моем виртуальном env, поскольку исполняемый файл pywin только позволяет установить установку под C. Спасибо заранее за вашу помощь!

Мой список пип в виртуальном окр является
ATTRS == 16.2.0
cffi == 1.8.3
постоянно == 15.1.0
криптография == 1.5.2
cssselect == 1.0. 0
enum34 == 1.1.6
IDNA == 2,1
инкрементный == 16.10.1
IPaddress == 1.0.17
LXML == 3.6.4
Parsel == 1.0.3
pyasn1 == 0.1.9
pyasn1-модули == 0.0.8
pycparser == 2,17
PyDispatcher == 2.0.5
pyOpenSSL == 16.2.0
queuelib == 1.4.2
Scrapy == 1.2.1
сервис-идентичность == 16.0.0
шесть == 1.10.0
Twisted == 16.5.0
w3lib == 1.15.0
zope.interface == 4.3.2

ответ

2

Похоже, вы пропустили WIN32API, просто установить его через пип:

pip install pypiwin32 
+0

Эй любая идея ли win32api (устанавливается через pypiwin32) и pywin32 я скачал с сайта SourceForge, по существу, то же самое? Значит, у меня больше не будет ошибок? Просто спросил, потому что pywin32 был отмечен как важный элемент страницы установки Scrapy. Спасибо за вашу помощь! –

+0

@CraigDsouza yup, это по сути то же самое. 'pypiwin32' - это то, как он называется' pypi' (PYthon Package Index), из которого вы можете загрузить и построить его с помощью системы управления пакетами 'pip'. – Granitosaurus

Смежные вопросы