【问题标题】:Install Pycurl after mac update to High Sierra - SSL error在 mac 更新到 High Sierra 后安装 Pycurl - SSL 错误
【发布时间】:2018-06-28 06:06:35
【问题描述】:

我将我的 mac 更新为 high sierra,现在我无法安装 pycurl。它失败并显示此消息: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.

我在文档和网络上进行了搜索,发现了一些无法解决我的问题的解决方案。最受欢迎的是这个:

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=openssl
pip install pycurl

这是完整的错误

【问题讨论】:

    标签: pycurl macos-high-sierra


    【解决方案1】:

    从我的 virtualenv 中发出的解决方案类似于您发现对我有用的解决方案。我使用 Homebrew 作为 macOS High Sierra 上的包管理器,并使用 Pipenv 来管理我的项目依赖项和 virtualenv。将 PyVimeo API 库(将 PycURL 作为依赖项)添加到我的项目后出现错误。

    首先生成的错误是

    src/pycurl.c:137:4: 警告: #warning "libcurl 是用 SSL 编译的 支持,但 configure 无法确定使用了哪个库; 因此不会设置 SSL 加密锁定回调,这可能会导致 SSL 请求随机崩溃” [-Wcpp]

    那么,

    ImportError: pycurl: libcurl link-time ssl backend (openssl) is 不同于编译时 ssl 后端(无/其他)

    As mentioned in the PycURL docs,解决方案是“告诉 [PycURL's] setup.py 使用了什么 SSL 后端”。单独设置brew info openssl的输出中推荐的环境变量并不能解决问题。

    然后我找到了tangentially related Github issue comment,并在我的项目的 virtualenv 中尝试了以下操作:

    (env)$ pip uninstall pycurl
    (env)$ pip install --upgrade pip
    (env)$ export LDFLAGS=-L/usr/local/opt/openssl/lib
    (env)$ export CPPFLAGS=-I/usr/local/opt/openssl/include
    (env)$ export PYCURL_SSL_LIBRARY=openssl
    (env)$ pip install pycurl
    

    install 命令给出了以下输出:

    使用缓存收集pycurl https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz 为收集的包构建轮子:pycurl Running setup.py bdist_wheel for pycurl ... done 存储在目录中: /Users/me/Library/Caches/pip/wheels/d2/85/ae/ebf5ff0f1378a69d082b4863df492bf54c661bf6306a2bd 成功搭建pycurl tuspy 0.2.1 有要求 pycurl==7.43.0, 但是您将拥有不兼容的 pycurl 7.43.0.2。安装 收集到的包:pycurl 安装成功pycurl-7.43.0.2

    我注意到(有点小?)tuspy 错误并继续前进。这一次,我的脚本运行没有 PycURL 抱怨。

    【讨论】:

    • 感谢拯救我的一天!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2018-06-02
    • 2018-06-18
    • 1970-01-01
    • 2023-03-08
    • 2019-05-19
    • 2014-02-24
    相关资源
    最近更新 更多