python - 如何让 easy_install 忽略证书

标签 python easy-install

我们的网络安装不是最好的,所以我需要告诉通过 ssl 通信的应用程序忽略证书。必须对 NPM 等执行相同的操作。所以现在当我运行时...

$ easy_install pip
...
Download error on https://pypi.python.org/simple/pip/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!

那么如何关闭此验证?

附言我知道这是一个安全向量,但请原谅我。

最佳答案

我相信您的 easy_install 最终会转到 setuptools,它有它的 SSL 助手。在我的 Linux 上,它位于/usr/lib/python2.7/site-packages/setuptools/ssl_support.py。基本上有两种方法:

  1. 我建议获取证书并手动添加它,您会在 ssl_support.py 中找到这些位置。这些行引起了我的注意:

    cert_paths = """
    /etc/pki/tls/certs/ca-bundle.crt
    /etc/ssl/certs/ca-certificates.crt
    /usr/share/ssl/certs/ca-bundle.crt
    /usr/local/share/certs/ca-root.crt
    /etc/ssl/cert.pem
    /System/Library/OpenSSL/certs/cert.pem
    """.strip().split()
    

    只需将您的证书附加到其中任何一个即可。请参阅此处如何使用 openssl s_client 获取证书:Using openssl to get the certificate from a server

  2. 更进一步,您可以在 setuptools 助手中完全禁用 SSL 验证。 ssl_support.py 中的以下几行引起了我的注意:

    try:
      import ssl
    except ImportError:
      ssl = None
    

    我只是在后面添加了 ssl = None,所以:

    try:
      import ssl
    except ImportError:
      ssl = None
    
    ssl = None
    

关于python - 如何让 easy_install 忽略证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32894267/

相关文章:

python - 用自己的值有条件地更新数据框值

python - 我应该使用什么纯 Python 库来抓取网站?

python-2.7 - 决定 pip 和 easy_install 使用哪个 python 版本

python - Scrapy安装报错pip和easy_install

python - 如何使用 OpenCV python 绘制平行于最小面积矩形宽度连接相对轮廓点的线

python - 忽略 GroupBy 中 Max 上的重复项 - Pandas

python - 指定要在 ipyparallel 集群中启动的 ipengine 实例数量

python - easy_install : ImportError: Entry point ('console_scripts' , 'easy_install' ) 未找到

python - 在 Windows 上轻松安装 cx_Oracle(python 包)

python - python easy install 的问题