#python #scrapy
#python #scrapy
Вопрос:
Я (насколько я могу судить) правильно установил все зависимости для Scrapy. Я запускаю Scrapy.org 64-разрядная версия Python в Windows Vista 64-разрядная. Я до сих пор установил:
- Распространяемые файлы Visual C (64-разрядный)
- Win32 Откройте SSL (с помощью библиотеки DLL, скопированной в каталог bin — согласно приведенным выше инструкциям)
- Переменные среды добавлены для C:Python27 , C:Python27Scripts и openssl-win32bin
- Visual C Studio 2008
- Pywin32
- Zope
- Twisted
- lxml
- pyOpenSSL
- 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:
- pip установите PyWin32 здесь, выберите правильную версию python и 32/64 бит. Теперь в cmd:
установка pip c:usersdesktoppywin32-220.1-cp27-cp27m-win_amd64.whl
- Теперь установите системные файлы pywin32, запустите «python.exe Scriptspywin32_postinstall.py -установить» из командной строки с повышенными правами. Запустите cmd от имени администратора и в командной строке
python «C:Python27Scriptspywin32_postinstall.py » -установить