2013-02-08 12 views
7

Sto cercando di installare scrapy per python2.6, ma sembra non andare bene. Ecco i pacchetti installati:installa scrapy su win 7 (64-bit)

G:\Python26\Scripts>pip freeze 
Scrapy==0.16.4 
Twisted==12.3.0 
libxml2-python==2.7.7 
lxml==2.3.6 
pyopenssl==0.13 
w3lib==1.2 
zope.interface==3.8.0 

Ho ottenuto anche iconv e zlib. E questo è il log quando si installa scrapy con pip. Non so cosa dovrei fare dopo, mi manca? Hai bisogno di istruzioni, grazie.

Win 7 64-bit, Visual C++ installato

C:\Users\d>pip install scrapy 
Downloading/unpacking scrapy 
    Downloading Scrapy-0.16.4.tar.gz (679kB): 679kB downloaded 
    Running setup.py egg_info for package scrapy 
    warning: no files found matching 'license.txt' under directory 'scrapy' 
    no previously-included directories found matching 'docs\build' 
Requirement already satisfied (use --upgrade to upgrade): Twisted>=8.0 in g:\pyt 
hon26\lib\site-packages (from scrapy) 
Requirement already satisfied (use --upgrade to upgrade): w3lib>=1.2 in g:\pytho 
n26\lib\site-packages (from scrapy) 
Requirement already satisfied (use --upgrade to upgrade): lxml in g:\python26\li 
b\site-packages\lxml-2.3.6-py2.6-win32.egg (from scrapy) 
Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in g:\python 
26\lib\site-packages\pyopenssl-0.13-py2.6-win32.egg (from scrapy) 
Requirement already satisfied (use --upgrade to upgrade): zope.interface>=3.6.0 
in g:\python26\lib\site-packages\zope.interface-3.8.0-py2.6-win32.egg (from Twis 
ted>=8.0->scrapy) 
Requirement already satisfied (use --upgrade to upgrade): setuptools in g:\pytho 
n26\lib\site-packages (from zope.interface>=3.6.0->Twisted>=8.0->scrapy) 
Installing collected packages: scrapy 
    Running setup.py install for scrapy 
    warning: no files found matching 'license.txt' under directory 'scrapy' 
    no previously-included directories found matching 'docs\build' 
Successfully installed scrapy 
Cleaning up... 


C:\Users\d>scrapy 
Traceback (most recent call last): 
    File "G:\Python26\lib\runpy.py", line 122, in _run_module_as_main 
    "__main__", fname, loader, pkg_name) 
    File "G:\Python26\lib\runpy.py", line 34, in _run_code 
    exec code in run_globals 
    File "G:\Python26\lib\site-packages\scrapy\cmdline.py", line 7, in <module> 
    from scrapy.crawler import CrawlerProcess 
    File "G:\Python26\lib\site-packages\scrapy\crawler.py", line 5, in <module> 
    from scrapy.core.engine import ExecutionEngine 
    File "G:\Python26\lib\site-packages\scrapy\core\engine.py", line 14, in <modul 
e> 
    from scrapy.core.downloader import Downloader 
    File "G:\Python26\lib\site-packages\scrapy\core\downloader\__init__.py", line 
16, in <module> 
    from .middleware import DownloaderMiddlewareManager 
    File "G:\Python26\lib\site-packages\scrapy\core\downloader\middleware.py", lin 
e 7, in <module> 
    from scrapy.http import Request, Response 
    File "G:\Python26\lib\site-packages\scrapy\http\__init__.py", line 11, in <mod 
ule> 
    from scrapy.http.request.form import FormRequest 
    File "G:\Python26\lib\site-packages\scrapy\http\request\form.py", line 9, in < 
module> 
    import lxml.html 
    File "G:\Python26\lib\site-packages\lxml-2.3.6-py2.6-win32.egg\lxml\html\__ini 
t__.py", line 12, in <module> 
    from lxml import etree 
ImportError: DLL load failed: %1 is not a valid Win32 application 

risposta

1

avere una lettura di questo guide to installing scrapy on Windows 7. egenix-pyopenssl è elencato come pacchetto richiesto, oltre a installare pywin32 può anche aiutare.

+0

Grazie per il vostro consiglio. Stranamente non ho trovato variabili python nel registro, né in Local_Machine né in Current_User. Ho trovato questa domanda [richiesta Python versione 2.6, che non è stata trovata nel registro] (http://stackoverflow.com/questions/3008509/python-version-2-6-required-which-was-non-found-in -the-registry), e reinstallato python 2.6.6 (32-bit) [link] (http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi), eppure il il risultato è sempre lo stesso. Ho quindi provato questo sul mio vecchio computer (anche Win7 64-bit), e questo problema non si è verificato. Sono perso di nuovo ... – noc13

+0

Grazie. Funziona! –

4

È necessario seguire le istruzioni here (anche elencate sopra).

L'errore DLL specifico elencato nella domanda è dovuto (almeno nel mio caso) all'installazione di OpenSSL a 32 bit con 64 bit tutto il resto. Dopo aver installato OpenSSL corretto (e, per inciso, ho dovuto disinstallare tutti i pacchetti nel link sopra e iniziare gli argomenti over-order per i programmi di installazione msi delle dipendenze), scrapy funziona bene su python27, windows7, 64 bit.

-1

L'installazione di scrapy non è difficile. L'ho appena completato sulla mia macchina Windows 7, che è 64-bit:

Installare Python 2.7 da http://python.org/download/: È necessario regolare la variabile di ambiente PATH per includere i percorsi all'eseguibile Python e agli script aggiuntivi. I seguenti percorsi devono essere aggiunte al PATH:

C:\Python2.7\;C:\Python2.7\Scripts\; 

per aggiornare il percorso aprire un prompt dei comandi ed eseguire:

c:\python27\python.exe c:\python27\tools\scripts\win_add2path.py 

Chiudere la finestra del prompt dei comandi e riaprirlo in modo modifiche abbiano effetto, eseguire il seguente comando e verificare che mostra la versione di Python previsto:

python --version 

Installare pip dal https://pip.pypa.io/en/latest/installing.html Ora aprite un prompt dei comandi per controllare pip è inst alled correttamente:

pip --version 

A questo punto Python 2.7 e gestore di pacchetti PIP deve essere di lavoro, installiamo Scrapy:

pip install Scrapy 

Controllare che Scrapy opere:

scrapy fetch http://www.google.com 

Tutto questo è stato derivato da: http://doc.scrapy.org/en/latest/intro/install.html

0

La mia soluzione è pip install --upgrade PyopenSSL

-1

ho appena incontrato lo stesso problema, ma ho già risolto.

Controllare gentilmente il pacchetto python installato se la versione (32/64 bit) corrisponde alla versione di installazione di Python.

Poiché ora sto lavorando a un progetto Scrapy e ho installato un pacchetto lxml a 64 bit sul mio computer, tuttavia, ho appena scoperto che la versione di installazione predefinita di Python nel mio computer è a 32 bit. Pertanto, la versione non corrisponde e il problema che hai postato si sarebbe verificato.

0

Sono appena riuscito a risolvere questo appena ora e per le persone che potrebbero inciampare su questo, il problema è che hai bisogno di PyWin32. Per gli utenti di Windows:

  1. installazione di pip PyWin32 here, scegliere la versione python corretta e 32/64 bit. Ora, in cmd:

    pip installazione C: \ Users \ Desktop \ pywin32-220.1-cp27-cp27m-win_amd64.whl

  2. Ora, installare pywin32 i file di sistema, eseguire "Scripts python.exe \ pywin32_postinstall .py -install "da un prompt dei comandi con privilegi elevati. Esegui cmd come amministratore e nel prompt dei comandi

    python "C: \ Python27 \ Scripts \ pywin32_postinstall.py" -install

0

Ho avuto lo stesso problema su Windows 10 (64 po). L'errore potrebbe essere riprodotto in Python da:

>>> import OpenSSL 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "c:\Python27\lib\site-packages\OpenSSL\__init__.py", line 8, in <module> 
    from OpenSSL import crypto, SSL 
ImportError: DLL load failed: %1 is not a valid Win32 application. 

Dopo aver installato pyOpenSSL ho ottenuto l'errore ImportError: DLL load failed: The operating system cannot run %1., che è stato risolto copiando libeay32.dll e ssleay32.dll sul mio cammino (here s' altra mia risposta).

Problemi correlati