【问题标题】:Curl is configured to use SSL, but we have not been able to determine which SSL backend it is usingCurl 配置为使用 SSL,但我们无法确定它使用的是哪个 SSL 后端
【发布时间】:2018-12-03 19:14:40
【问题描述】:

当我执行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时我得到了同样的错误。

知道为什么吗?

【问题讨论】:

  • 我不认为这是重复的,因为那里的大多数答案都涉及重新安装,这在过去为我修复了它。这是第一次安装 pycurl 时也会出现的错误,因此卸载然后重新安装的通常解决方案不适用。

标签: python ssl terminal pip


【解决方案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】:

    我在部署到 Beanstalk 时收到此错误,因为我需要 pycurl 用于 Celery。虽然在许多讨论中人们推荐不同的 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
    

    【讨论】:

      【解决方案3】:

      我无法通过软件集合中的 Python 3.6 解决此错误,因此我从同一个存储库安装了 Python 3.5

      然后我安装了 Pycurl:

      sudo yum install sclo-python35-python-pycurl
      

      效果很好。我使用 3.5 的原因是因为 3.6 没有类似的包。所以你可能想尝试在你的包管理器上找到你正在使用的版本的 Pycurl 并以这种方式安装它。

      【讨论】:

        猜你喜欢
        • 2013-04-11
        • 2012-11-08
        • 1970-01-01
        • 2022-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多