Python: scrapy 教程,importerror no module named pywintypes

Python: scrapy tutorial, import error nomodule named pywintypes

我是 Scrapy 的新手,并尝试按照 scrapy documentation 的教程进行操作。当我尝试在 cmd 中使用 scrapy crawl quotes run 时。它显示以下错误消息。我该如何解决?

2017-05-16 11:37:26 [scrapy.utils.log] INFO: Scrapy 1.3.3 started (bot: 
tutorial)
2017-05-16 11:37:26 [scrapy.utils.log] INFO: Overridden settings: 
{'NEWSPIDER_MODULE': 'tutorial.spiders', 'SPIDER_MODULES': 
['tutorial.spiders'], 'ROBOTSTXT_OBEY': True, 'BOT_NAME': 'tutorial'}
2017-05-16 11:37:28 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.logstats.LogStats',
 'scrapy.extensions.telnet.TelnetConsole',
 'scrapy.extensions.corestats.CoreStats']
Unhandled error in Deferred:
2017-05-16 11:37:28 [twisted] CRITICAL: Unhandled error in Deferred:

2017-05-16 11:37:28 [twisted] CRITICAL:
Traceback (most recent call last):
  File "c:\python27\lib\site-packages\twisted\internet\defer.py", line 1301, 
in _inlineCallbacks
    result = g.send(result)
  File "c:\python27\lib\site-packages\scrapy\crawler.py", line 90, in crawl
    six.reraise(*exc_info)
  File "c:\python27\lib\site-packages\scrapy\crawler.py", line 72, in crawl
    self.engine = self._create_engine()
  File "c:\python27\lib\site-packages\scrapy\crawler.py", line 97, in 
_create_engine
    return ExecutionEngine(self, lambda _: self.stop())
  File "c:\python27\lib\site-packages\scrapy\core\engine.py", line 69, in 
__init__
    self.downloader = downloader_cls(crawler)
  File "c:\python27\lib\site-packages\scrapy\core\downloader\__init__.py", 
line 88, in __init__
    self.middleware = DownloaderMiddlewareManager.from_crawler(crawler)
  File "c:\python27\lib\site-packages\scrapy\middleware.py", line 58, in 
from_crawler
    return cls.from_settings(crawler.settings, crawler)
  File "c:\python27\lib\site-packages\scrapy\middleware.py", line 34, in 
from_settings
    mwcls = load_object(clspath)
  File "c:\python27\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 "c:\python27\lib\site-
packages\scrapy\downloadermiddlewares\retry.py", line 20, in <module>
    from twisted.web.client import ResponseFailed
  File "c:\python27\lib\site-packages\twisted\web\client.py", line 42, in 
<module>
    from twisted.internet.endpoints import HostnameEndpoint, wrapClientTLS
  File "c:\python27\lib\site-packages\twisted\internet\endpoints.py", line 
37, in <module>
    from twisted.internet.stdio import StandardIO, PipeAddress
  File "c:\python27\lib\site-packages\twisted\internet\stdio.py", line 30, 
in <module>
    from twisted.internet import _win32stdio
  File "c:\python27\lib\site-packages\twisted\internet\_win32stdio.py", line 
18, in <module>
    from twisted.internet import _pollingfile, main
  File "c:\python27\lib\site-packages\twisted\internet\_pollingfile.py", 
line 106, in <module>
    import pywintypes
ImportError: No module named pywintypes

我在使用 pyinstaller 之前遇到过与 ImportError pywintypes 类似的问题,但没有找到解决方案。我也在 Whosebug 上发布了

正如scrapy documentation, it is recommended to install scrapy on Windows with Anaconda中所说。这是一个 virtualenv,因此它会在您的系统上全新安装 scrapy,并且会自动安装所有依赖项。

安装 Anaconda 后,在控制台中输入此命令:conda install -c conda-forge scrapy 应该没问题。

希望对您有所帮助。