Проблемы с установкой Scrapy

#python #scrapy

#python #scrapy

Вопрос:

Я (насколько я могу судить) правильно установил все зависимости для Scrapy. Я запускаю Scrapy.org 64-разрядная версия Python в Windows Vista 64-разрядная. Я до сих пор установил:

  1. Распространяемые файлы Visual C (64-разрядный)
  2. Win32 Откройте SSL (с помощью библиотеки DLL, скопированной в каталог bin — согласно приведенным выше инструкциям)
  3. Переменные среды добавлены для C:Python27 , C:Python27Scripts и openssl-win32bin
  4. Visual C Studio 2008
  5. Pywin32
  6. Zope
  7. Twisted
  8. lxml
  9. pyOpenSSL
  10. w3lib

Это полный список того, что мне нужно, чтобы заставить Scrapy работать правильно? До сих пор, когда я пытаюсь запустить команду:

 scrapy startproject myproject
  

Я получаю следующую ошибку в командной оболочке:

 Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:UsersOleg Salenko>scrapy startproject mrscrap
Traceback (most recent call last):
  File "c:Python27Scriptsscrapy", line 3, in <module>
    from scrapy.cmdline import execute
  File "c:Python27libsite-packagesscrapycmdline.py", line 9, in <module>
    from scrapy.crawler import CrawlerProcess
  File "c:Python27libsite-packagesscrapycrawler.py", line 3, in <module>
    from twisted.internet import reactor, defer
  File "c:Python27libsite-packagestwistedinternetreactor.py", line 38, in
<module>
    from twisted.internet import default
  File "c:Python27libsite-packagestwistedinternetdefault.py", line 56, in
<module>
    install = _getInstallFunction(platform)
  File "c:Python27libsite-packagestwistedinternetdefault.py", line 50, in
_getInstallFunction
    from twisted.internet.selectreactor import install
  File "c:Python27libsite-packagestwistedinternetselectreactor.py", line 1
8, in <module>
    from twisted.internet import posixbase
  File "c:Python27libsite-packagestwistedinternetposixbase.py", line 24, i
n <module>
    from twisted.internet import error, udp, tcp
  File "c:Python27libsite-packagestwistedinternettcp.py", line 29, in <mod
ule>
    from twisted.internet._newtls import (
  File "c:Python27libsite-packagestwistedinternet_newtls.py", line 21, in
<module>
    from twisted.protocols.tls import TLSMemoryBIOFactory, TLSMemoryBIOProtocol
  File "c:Python27libsite-packagestwistedprotocolstls.py", line 41, in <mo
dule>
    from OpenSSL.SSL import Error, ZeroReturnError, WantReadError
  File "c:Python27libsite-packagesOpenSSL__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "c:Python27libsite-packagesOpenSSLrand.py", line 11, in <module>
    from OpenSSL._util import (
  File "c:Python27libsite-packagesOpenSSL_util.py", line 4, in <module>
    binding = Binding()
  File "c:Python27libsite-packagescryptographyhazmatbindingsopensslbindi
ng.py", line 87, in __init__
    self._ensure_ffi_initialized()
  File "c:Python27libsite-packagescryptographyhazmatbindingsopensslbindi
ng.py", line 106, in _ensure_ffi_initialized
    libraries=libraries,
  File "c:Python27libsite-packagescryptographyhazmatbindingsutils.py", li
ne 80, in build_ffi
    extra_link_args=extra_link_args,
  File "c:Python27libsite-packagescffiapi.py", line 341, in verify
    lib = self.verifier.load_library()
  File "c:Python27libsite-packagescffiverifier.py", line 75, in load_librar
y
    return self._load_library()
  File "c:Python27libsite-packagescffiverifier.py", line 151, in _load_libr
ary
    return self._vengine.load_library()
  File "c:Python27libsite-packagescffivengine_cpy.py", line 138, in load_li
brary
    raise ffiplatform.VerificationError(error)
cffi.ffiplatform.VerificationError: importing 'c:\Python27\lib\site-packages
cryptography\_Cryptography_cffi_444d7397xa22f8491.pyd': DLL load failed: %1 is
 not a valid Win32 application.

C:UsersOleg Salenko>
  

Кто-нибудь может увидеть, что вызывает эти ошибки? Я довольно новичок в Python, и Scrapy, безусловно, самая сложная вещь, которую я пробовал до сих пор, чтобы заставить работать.

Спасибо

Комментарии:

1. @padraic cunningham есть идеи по этому поводу? это все та же ошибка, с которой я столкнулся прошлой ночью.

Ответ №1:

Это было решено путем установки 64-разрядной версии OpenSSL вместо 32-разрядной. Немного ошибка школьника, но я очень рад, что мне удалось устранить основную причину!

Ответ №2:

Я решаю эту проблему, устанавливая 64-разрядную версию pyOpenSSL с помощью установщика отсюда:http://www.egenix.com/cryptodownload/?file=egenix-pyopenssl-0.13.0_1.0.0g_1.win-amd64-py2.7.msi

Установка 64-разрядной версии OpenSSL не решила мою проблему.

Ответ №3:

Я просто ответил на это в другой теме, но на всякий случай.

Мне только что удалось решить это, и для людей, которые могут наткнуться на это, проблема в том, что вам нужен PyWin32. Для пользователей Windows:

  1. pip установите PyWin32 здесь, выберите правильную версию python и 32/64 бит. Теперь в cmd:

    установка pip c:usersdesktoppywin32-220.1-cp27-cp27m-win_amd64.whl

  2. Теперь установите системные файлы pywin32, запустите «python.exe Scriptspywin32_postinstall.py -установить» из командной строки с повышенными правами. Запустите cmd от имени администратора и в командной строке

    python «C:Python27Scriptspywin32_postinstall.py » -установить