2014-05-07 48 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位的軟件包,但沒有意識到這一點。如果我有任何進展,我會保持更新。