web-dev-qa-db-ja.com

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を実行すると同じエラーが発生します。

理由は何ですか?

13
Zorgan

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を実行します

41
LC.Zhang

Celeryにはpycurlが必要なので、Beanstalkにデプロイするときにこのエラーを受け取りました。多くの議論で人々は異なる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
0
Greg Holst

Python 3.6 Software CollectionsのPython $ === 3.6でこのエラーを通過できなかったため、同じリポジトリから Python 3.5 をインストールしました。

次に、Pycurlをインストールしました:

Sudo yum install sclo-python35-python-pycurl

それはうまくいきました。 3.5を使用した理由は、3.6に同様のパッケージがなかったためです。そのため、使用しているバージョンのパッケージマネージャーでPycurlを見つけて、そのようにインストールすることをお勧めします。

0
Nagev