La actualización de Mac de High Sierra a Catalina rompió "importar pycurl"

La actualización de Mac de High Sierra a Catalina rompió "importar pycurl"

Actualicé mi Mac de High Sierra a Catalina pero se rompió import pycurl. Vea el error a continuación.

Probé todas las opciones con las que los usuarios afirmaron haber tenido éxito en estePublicación de desbordamiento de pilapero fue en vano.

ImportError: pycurl: libcurl link-time ssl backend (none/other) is different from compile-time ssl backend (openssl)

Mi versión de pycurl es7.43.0.3

La versión de Python es3.6.4.

[También lo probé con Catalina 1.0.2t y luego probé libressla continuación]

% openssl version -a
LibreSSL 2.8.3
built on: date not available
platform: information not available
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: information not available
OPENSSLDIR: "/private/etc/ssl"

% echo $PYCURL_SSL_LIBRARY 
openssl

% echo $LDFLAGS 
-L/usr/local/opt/openssl/lib

% echo $CPPFLAGS 
-I/usr/local/opt/openssl/include

Probé todas las combinaciones de comandos anteriores:

% pip install --global-option="--with-openssl" --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include --compile --no-cache-dir" pycurl

% brew uninstall openssl 

etc.

Usé easy_install.

Pero simplemente está rotoCatalina!!¿Alguien resolvió esto todavía?

Respuesta1

Lo siguiente funcionó para mí, aunque parece un poco complicado. ¿Quizás seguir con esto hasta que aparezca una solución mejor?

brew install curl-openssl
export PYCURL_SSL_LIBRARY=openssl
export PYCURL_CURL_CONFIG=/usr/local/opt/curl-openssl/bin/curl-config
export LDFLAGS='-L/usr/local/opt/openssl/lib -L/usr/local/opt/c-ares/lib -L/usr/local/opt/nghttp2/lib -L/usr/local/opt/libmetalink/lib -L/usr/local/opt/rtmpdump/lib -L/usr/local/opt/libssh2/lib -L/usr/local/opt/openldap/lib -L/usr/local/opt/brotli/lib'
export CPPFLAGS=-I/usr/local/opt/openssl/include
pip install pycurl --compile --no-cache-dir

macOS 10.15 Python 3.7.4 pycurl 7.43.0.3 OpenSSL 1.0.2t

Respuesta2

Esto funcionó para mí

pip uninstall pycurl
pip install --compile --install-option="--with-openssl" pycurl

Respuesta3

Estoy ejecutando MacOS ventura en mi MacBook Pro. Usamos Ptyhon 3.7. Lo siguiente funcionó para mí:

% python3.7 -m pip uninstall pycurl
% brew install curl
% brew install openssl

% export LDFLAGS="-L/usr/local/opt/curl/lib $LDFLAGS"
% export CPPFLAGS="-I/usr/local/opt/curl/include $CPPFLAGS"
% export PKG_CONFIG_PATH=/usr/local/opt/curl/lib/pkgconfig

% python3.7 -m pip install pycurl==7.45.2 --no-cache-dir --compile --ignore-installed --install-option="--openssl-dir=/usr/local/opt/openssl@3/"

información relacionada