Установите Scrapy на OS X El Capitan
Я пытался установить Scrapy на El Capitan, но пока не увенчался успехом. Это происходит, когда я использую pip install Scrapy
:
#include <openssl/opensslv.h>
^
1 error generated.
error: command 'cc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /<scrapy_project>/venv/bin/python -c "import setuptools, tokenize;__file__='/<scrapy_project>/venv/build/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/p6/jvf54l7d5c7dntzm6d3rfc3w0000gn/T/pip-D2QIZq-record/install-record.txt --single-version-externally-managed --compile --install-headers /<scrapy_project>/venv/include/site/python2.7 failed with error code 1 in /<scrapy_project>/venv/build/cryptography
Мои командные инструменты Xcode и Xcode обновлены. Я пытался установить Scrapy с помощью и без подхода через доморощенный в соответствии с http://doc.scrapy.org/en/latest/intro/install.html
Изменить: я сделал следующее:
brew install openssl && brew link openssl --force
в соответствии с предложением Крейсерджекpip install cryptography
pip install scrapy
все работало без ошибок. Но scrapy --version
выдает эту ошибку:
ImportError: dlopen(/<scrapy_project>/venv/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so, 2): Symbol not found: _BIO_new_CMS
Referenced from: /<scrapy_project>/venv/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so
Expected in: flat namespace
in /<scrapy_project>/venv/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so
1 ответ
Проблема здесь с установкой зависимостей, необходимых для Scrapy
Прежде всего, вам следует перейти на последнюю версию pip:
pip install --upgrade pip
Если это не сработает, чтобы построить криптографию и динамически связать ее:
brew install openssl
env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography
дополнительную информацию об установке можно найти в документации по криптографии.
Другие проблемы могут быть решены с помощью команды
LDFLAGS="-L/usr/local/opt/openssl/lib" pip install cryptography --no-use-wheel
Это не должно быть необходимым, однако, если все ваше программное обеспечение (последние pip и криптография), обновлено. Больше по этой проблеме можно найти в выпусках в репозитории криптографии на github