python 导入错误:pycurl:libcurl链接时ssl后端(openssl)不同于编译时ssl后端(none/other)

cbjzeqam  于 2022-12-21  发布在  Python
关注(0)|答案(7)|浏览(325)

我想运行python文件。但是我可以在运行时检查此错误。
导入错误:pycurl:libcurl链接时ssl后端(openssl)不同于编译时ssl后端(none/other)
我的系统是Mac OS 10.13.2,使用的是Python 2.7

a7qyws3x

a7qyws3x1#

似乎你的浏览器出错了,请尝试以下操作:

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

如果仍然失败,请尝试此操作

brew reinstall openssl
5uzkadbs

5uzkadbs2#

这是我的mac用户伙伴们做的。

# pycurl
pip uninstall pycurl
export CPPFLAGS=-I/usr/local/opt/openssl/include # may be needed
export LDFLAGS=-L/usr/local/opt/openssl/lib # may be needed
pip install --no-cache-dir --compile --ignore-installed --install-option="--with-openssl" pycurl

我在windows中遇到了同样的问题,但有不同的修复方法(也许这也适合Mac)。在我的RequirementsIdenttxt中,我有X1 M0 N1 X,但在Windows下载器页面上,我只能找到我安装的X1 M1 N1 X(pip install .\pycurl-7.44.1-cp37-cp37m-win_amd64.whl)。然后在启动我的Django服务器python manage.py runserver时,我遇到了这个错误。解决方案是将pycurl恢复到它预期的版本。pip install pycurl==7.43.0.5,它替换了下面给出的版本。错误消失了!x1c 0d1x

uujelgoq

uujelgoq3#

对于m1用户,它对我很有效

brew install curl-openssl
pip uninstall pycurl

PYCURL_SSL_LIBRARY=openssl \
    LDFLAGS="-L$(brew --prefix openssl)/lib" \
    CPPFLAGS="-I$(brew --prefix openssl)/include" 

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

fivyi3re4#

重新安装curl库

brew install curl --with-openssl

使用正确的环境和路径安装pycurl

export PYCURL_SSL_LIBRARY=openssl
pip uninstall pycurl 
pip install --no-cache-dir --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include"  pycurl
flseospp

flseospp5#

我如何在我的Mac Book Pro M1(芯片苹果M1 Pro)上解决这个问题。
我使用系统提供的Python 3.9.6作为MacOs Monterey 12.6完全删除了Python 2.7,并提供Python 3.9.6作为系统Python。
有两件事对于使用了解curl信息非常重要
1.第一个月

  1. brew openssl info
    这给你的信息根据你自己的机器设置使用在下面的安装使用。
    对我来说是
export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include"

要使pkg-config找到openssl@3,您可能需要设置:
x一个一个一个一个x一个一个二个x
完成了!!!完美。

kulphzqa

kulphzqa6#

在macOS Catalina (v10.15.6)上,请确保卸载之前的curl,然后安装curl-openssl并导出变量,以便编译器可以找到它们:

brew uninstall curl
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

pip install pycurl
olhwl3o2

olhwl3o27#

我正在MacBook Pro上运行MacOS Ventura。我们使用Python 3. 7。以下操作对我很有效:

% 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/"

相关问题