Virtualenv: macOS venv 上的 pip install 返回 SSL CERTIFICATE_VERIFY_FAILED

创建于 2016-10-11  ·  3评论  ·  资料来源: pypa/virtualenv

使用 virtualenv 15.0.3、python 2.7.12、pip 8.1.2、wheel 0.30.0.a0 和 setuptools 18.5。

注意:如果我尝试安装 _without_ 一个 venv 它可以工作,没有 SSL 问题。 因此,我想在这里检查以防可能存在与virtualenv相关的问题。

$ virtualenv tester
Installing setuptools, pip, wheel...done.
$ . tester/bin/activate
(tester) $ cd PROJECT
(tester) $ pip install -e .
Obtaining file:///Users/jdandrea/projects/MyProject
    Complete output from command python setup.py egg_info:
    Download error on https://pypi.python.org/simple/pbr/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
    Couldn't find index page for 'pbr' (maybe misspelled?)
    Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
    No local packages or working download links found for pbr>=1.8
    Traceback (most recent call last):
    ......

另请参阅:完整的回溯

据报道,virtualenv 14.0.6解决了关于 certs 的 SSL 问题。 也许这是一个不同/新的问题? 不确定。

最有用的评论

有趣的。 我刚刚发现,如果我首先在 venv 中手动安装pbr ,则pip install -e .可以在没有任何 SSL 投诉的情况下工作。

我用一个全新的 venv 仔细检查了这个:

# go to project directory
$ pip install -e .
Obtaining file:///Users/jdandrea/projects/myproject
    Complete output from command python setup.py egg_info:
    Download error on https://pypi.python.org/simple/pbr/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
    Couldn't find index page for 'pbr' (maybe misspelled?)
    Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
    No local packages or working download links found for pbr>=1.8
    Traceback (most recent call last):
    ......
$ pip install pbr>=1.8
$ pip list | grep pbr
pbr (1.10.0)
$ pip install -e
# everything installs, zero errors

我注意到一切都来自缓存,所以我重新创建了 venv 并再次尝试,这次使用--no-cache-dir

除非我安装pbr @manually作为第一步,否则安装仍然失败:

$ pip install --no-cache-dir 'pbr>=1.8'
Collecting pbr>=1.8
  Downloading pbr-1.10.0-py2.py3-none-any.whl (96kB)
  ......
Installing collected packages: pbr
Successfully installed pbr-1.10.0
$ pip install --no-cache-dir -e .
# everything installs, zero errors

所有3条评论

有趣的。 我刚刚发现,如果我首先在 venv 中手动安装pbr ,则pip install -e .可以在没有任何 SSL 投诉的情况下工作。

我用一个全新的 venv 仔细检查了这个:

# go to project directory
$ pip install -e .
Obtaining file:///Users/jdandrea/projects/myproject
    Complete output from command python setup.py egg_info:
    Download error on https://pypi.python.org/simple/pbr/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
    Couldn't find index page for 'pbr' (maybe misspelled?)
    Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
    No local packages or working download links found for pbr>=1.8
    Traceback (most recent call last):
    ......
$ pip install pbr>=1.8
$ pip list | grep pbr
pbr (1.10.0)
$ pip install -e
# everything installs, zero errors

我注意到一切都来自缓存,所以我重新创建了 venv 并再次尝试,这次使用--no-cache-dir

除非我安装pbr @manually作为第一步,否则安装仍然失败:

$ pip install --no-cache-dir 'pbr>=1.8'
Collecting pbr>=1.8
  Downloading pbr-1.10.0-py2.py3-none-any.whl (96kB)
  ......
Installing collected packages: pbr
Successfully installed pbr-1.10.0
$ pip install --no-cache-dir -e .
# everything installs, zero errors

问题解决了! 不是 virtualenv 问题。

由于我也在使用 MacPorts, sudo port install curl-ca-bundle见这篇文章)立即解决了它。

所以你只需要在 Python 中安装一个实际的 ca-bundle,或者告诉你的操作系统使用更新的操作系统?

此页面是否有帮助?
0 / 5 - 0 等级