2017-02-02 9 views
3

я получаю сообщение об ошибке при запуске Scrapy на Raspberry Pi 3.Запуск Scrapy на Raspberry Pi 3 питон 3,4

Я успешно установил его, но когда я пытаюсь startproject или ползать с ранее созданным пауком, я получаю следующая ошибка:

Traceback (most recent call last): 
    File "/usr/local/bin/scrapy", line 7, in <module> 
    from scrapy.cmdline import execute 
    File "/usr/local/lib/python3.4/dist-packages/scrapy/cmdline.py", line 9, in <module> 
    from scrapy.crawler import CrawlerProcess 
    File "/usr/local/lib/python3.4/dist-packages/scrapy/crawler.py", line 7, in <module> 
    from twisted.internet import reactor, defer 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/reactor.py", line 38, in <module> 
    from twisted.internet import default 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/default.py", line 56, in <module> 
    install = _getInstallFunction(platform) 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/default.py", line 44, in _getInstallFunction 
    from twisted.internet.epollreactor import install 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/epollreactor.py", line 24, in <module> 
    from twisted.internet import posixbase 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/posixbase.py", line 18, in <module> 
    from twisted.internet import error, udp, tcp 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/tcp.py", line 28, in <module> 
    from twisted.internet._newtls import (
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/_newtls.py", line 21, in <module> 
    from twisted.protocols.tls import TLSMemoryBIOFactory, TLSMemoryBIOProtocol 
    File "/usr/local/lib/python3.4/dist-packages/twisted/protocols/tls.py", line 65, in <module> 
    from twisted.internet._sslverify import _setAcceptableProtocols 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/_sslverify.py", line 1865, in <module> 
    "ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:" 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/_sslverify.py", line 1845, in fromOpenSSLCipherString 
    SSL.SSLv23_METHOD, SSL.OP_NO_SSLv2 | SSL.OP_NO_SSLv3) 
    File "/usr/local/lib/python3.4/dist-packages/twisted/internet/_sslverify.py", line 1797, in _expandCipherString 
    ctx.set_cipher_list(cipherString.encode('ascii')) 
TypeError: must be str, not bytes 

Я понятия не имею, почему я получаю это или как его исправить, пожалуйста, помогите?

РЕШЕНИЕ:

Спасибо всем за помощь, я получил Scrapy работать на Raspberry Pi 3, в конце концов, выполнив следующие действия:

Сначала установите virtualenv:

sudo pip install virtualenv 

Затем создайте a virtualenv и активен для Scrapy:

virtualenv scrapyenv 
source scrapyenv/bin/activate 

Тогда я ра п и обновлять все там:

apt-get update 
apt-get upgrade 

Установка всех зависимостей:

apt-get install libffi-dev 
apt-get install libxml2-dev 
apt-get install libxslt1-dev 
apt-get install libssl-dev 
apt-get install python-dev 

Затем установите Scrapy

sudo pip install scrapy 

Затем я обновил свой pyOpenSSL с этим:

pip -vvvv install --upgrade pyOpenSSL 

Это создало много l og и потребовалось немного времени, после того, как эта лучевая терапия отлично справилась с нормальными командами scrapy, и я также запускаю паука - все работает.

+1

Не могли бы вы выслать свой паук? Похоже, что проблема связана с ssl, но в этой ошибке упоминаются проблемы типа: «должно быть str, а не байты» означает, что twisted ожидает python2 вместо python3. – Granitosaurus

+0

ОК, я написал свой код и протестировал его в python 3.5, однако я не могу даже «scrapy startproject test» не получить ту же ошибку, что и выше. Так что не должен быть моим кодом паука, который ошибочен, поскольку я получаю ту же ошибку, просто пытаюсь запустить проект. – Svarto

+0

Вы используете его из virtualenvironment? Если вы не попробуете установить один, установите там пробник и убедитесь, что у вас установлен [pyOpenSSL] (https://pypi.python.org/pypi/pyOpenSSL) – Granitosaurus

ответ

0

Какой пользователь вы используете? Я думаю, вам нужно использовать sudo. также обновите свой ssl. выглядит как соединение SSL имеет проблемы ..

Вы запустите: пункт установить --verbose скручены

Также обновить OpenSSL

пип -vvvv установить --upgrade pyOpenSSL, скопировав выход здесь, чтобы проверить, если обновлено

С уважением

+0

Я запускаю его с пользователем pi. Я побежал, что вы предложили, к сожалению, он говорит, что все требования уже удовлетворены .... – Svarto

+0

вы установите это: $ Sudo APT-получить установку libffi-DEV $ Sudo APT-получить установку libssl-DEV $ Sudo APT-получить установку libxml2-DEV libxslt1-DEV –

+0

да, к сожалению, я также попытался запустить эти команды снова, и для каждого из них он сказал, что у меня есть новейшая версия уже ... – Svarto

Смежные вопросы