2014-05-07 47 views
5

我已经在名为scrapy的virtualenv中在我的windows 7机器上安装了scrapy。 scrapy startproject的作品和我从scrapy文档制作的教程。scrapy导入错误:scrapy.core.downloader.handlers.s3.S3DownloadHandler

,如果我跑

scrapy crawl dmoz

我得到以下错误信息:

File "C:\Users\mac\pystuff\scrapy\lib\site-packages\scrapy\utils\misc.py", line 42,in load_object 
raise ImportError("Error loading object '%s': %s" % (path, e)) 
ImportError: Error loading object'scrapy.core.downloader.handlers.s3.S3DownloadHandler': DLL load failed: Could not find the specified module. 

测试:

蟒控制台:

>>> import scrapy 
>>> scrapy 
>>> <module 'scrapy' from 'C:\Users\mac\pystuff\scrapy\lib\site-packages\scrapy\__init__.pyc'> 

scrapy可用

的powershell:

PS C: python -m pydoc scrapy.core.downloader.handlers 

输出:

NAME 
scrapy.core.downloader.handlers - Download handlers for different schemes 

FILE 
c:\users\mac\pystuff\scrapy\lib\site- packages\scrapy\core\downloader\handlers\__init__.py 

PACKAGE CONTENTS 
    file 
    ftp 
    http 
    http10 
    http11 
    s3 

CLASSES 
    . 
    . 
    . 

除了S3所有其他模块显示正确的是pydoc。例如: 蟒-m是pydoc scrapy.core.downloader.handlers.file

仅S3给出了导入错误:

PS C: python -m pydoc scrapy.core.downloader.handlers.s3 
PS C: python -m pydoc scrapy.core.downloader.handlers.s3.S3DownloadHandler 

输出:

problem in scrapy.core.downloader.handlers.s3 - <type 'exceptions.ImportError'>: DLL load failed: Could not find the specified module. 

回答

7

pywin32是问题包。我试图导入它在python控制台,它无法找到。 (yourpythonpath)\ LIB \站点包\ pywin32_system32 \到C:i。从复制C这3个包(yourpythonpath)\ LIB \站点包\ WIN32 \

  1. pythoncom27.dll
  2. pythoncomloader27.dll
  3. pywintype.dll

解决了这个问题!

0

我遇到了同样的问题,一点点研究后,我几乎尝试了所有的建议,并最终解决问题。这里是我的序列:

重新安装OPENSSL

重新安装pywin32 AMD64

重新安装piwin32 32位

和神奇的问题就解决了。我的win服务器是64位的,但通过安装32位软件包可以解决问题。我想这是因为我以前安装了一些其他32位的软件包,但没有意识到这一点。如果我有任何进展,我会保持更新。