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