Curl is configured to use SSL, but we have not bee

2020-02-26 06:02发布

问题:

When I perform pip install thumbor I get the following error:

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.

I've tried brew install curl (which was successfull) however I get the same error when I perform pip install thumbor.

Any idea why?

回答1:

seems like you install pycurl error. if install on centos try this:export PYCURL_SSL_LIBRARY=openssl. if install on macos try this one :

export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include

then run pip install pycurl



回答2:

I was receiving this error when deploying to Beanstalk since I need pycurl for Celery. While in many discussions people recommend different ssl options, my solution was not to use any of these options. Python config file for deploying looks as follows:

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'

I did not set any environment variables within the software configuration of Beanstalk.

On MacOS Mojave this worked for me:

  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


回答3:

I couldn't get past this error with Python 3.6 from Software Collections, so I installed Python 3.5 from the same repository.

Then I installed Pycurl with:

sudo yum install sclo-python35-python-pycurl

Which worked just fine. The reason I used 3.5 is because there wasn't a similar package for 3.6. So you might want to try finding Pycurl on your package manager for the version you're using and install it that way instead.