Curl настроен на использование SSL, но мы не смогли определить, какой SSL-сервер он использует
Когда я выполняю pip install thumbor
я получаю следующую ошибку:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/t9/***********************/T/pip-install-knrabyuy/pycurl/setup.py", line 913, in <module>
ext = get_extension(sys.argv, split_extension_source=split_extension_source)
File "/private/var/folders/t9/***********************/T/pip-install-knrabyuy/pycurl/setup.py", line 582, in get_extension
ext_config = ExtensionConfiguration(argv)
File "/private/var/folders/t9/***********************/T/pip-install-knrabyuy/pycurl/setup.py", line 99, in __init__
self.configure()
File "/private/var/folders/t9/***********************/T/pip-install-knrabyuy/pycurl/setup.py", line 316, in configure_unix
specify the SSL backend manually.''')
__main__.ConfigurationError: Curl is configured to use SSL, but we have not been able to determine which SSL backend it is using. Please see PycURL documentation for how to specify the SSL backend manually.
Я пробовал brew install curl
(что было успешно), но я получаю ту же ошибку, когда я выполняю pip install thumbor
.
Любая идея почему?
Ответы
Ответ 1
Похоже, вы устанавливаете Pycurl ошибка. если установить на centos, попробуйте это: export PYCURL_SSL_LIBRARY=openssl
. если установить на macos попробуйте это:
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
затем запустите pip install pycurl
Ответ 2
Я не смог преодолеть эту ошибку с помощью Python 3.6 из Software Collections, поэтому я установил Python 3.5 из того же хранилища.
Затем я установил Pycurl с:
sudo yum install sclo-python35-python-pycurl
Это сработало отлично. Причина, по которой я использовал 3.5, заключается в том, что для 3,6 не было подобного пакета. Таким образом, вы можете попробовать найти Pycurl в своем диспетчере пакетов для используемой вами версии и установить его таким образом.
Ответ 3
Я получал эту ошибку при развертывании в Beanstalk, так как мне нужен pycurl для сельдерея. Хотя во многих дискуссиях люди рекомендуют разные опции ssl, я решил не использовать ни одну из этих опций. Конфигурационный файл Python для развертывания выглядит следующим образом:
packages:
yum:
git: []
postgresql93-devel: []
libcurl-devel: []
libjpeg-turbo-devel: []
commands:
01_download_pip3:
command: 'curl -O https://bootstrap.pypa.io/get-pip.py'
02_install_pip3:
command: 'python3 get-pip.py'
03_pycurl_uninstall:
command: '/usr/bin/yes | sudo /opt/python/run/venv/bin/pip3 uninstall pycurl'
04_pycurl_reinstall:
command: 'sudo /opt/python/run/venv/bin/pip3 install pycurl'
Я не устанавливал никаких переменных среды в конфигурации программного обеспечения Beanstalk.
В MacOS Mojave это сработало для меня:
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/opt/openssl/lib;export CPPFLAGS=-I/usr/local/opt/openssl/include;pip3 install pycurl --compile --no-cache-dir