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エラーをインストールしたようです。 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
を実行します
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
Python 3.6 Software CollectionsのPython $ === 3.6でこのエラーを通過できなかったため、同じリポジトリから Python 3.5 をインストールしました。
次に、Pycurlをインストールしました:
Sudo yum install sclo-python35-python-pycurl
それはうまくいきました。 3.5を使用した理由は、3.6に同様のパッケージがなかったためです。そのため、使用しているバージョンのパッケージマネージャーでPycurlを見つけて、そのようにインストールすることをお勧めします。