尝试在旧 Ubuntu 上创建 virtualenv 时出现证书错误

尝试在旧 Ubuntu 上创建 virtualenv 时出现证书错误

在旧的 Ubuntu 8.04(尚无法升级)上,我需要创建一个 Python virtualenv,安装一些软件包,然后安装我的软件。

我确实收到证书错误:

Could not fetch URL https://pypi.python.org/simple/xlrd/: connection error:    
[Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate   routines:X509_load_cert_crl_file:system lib     
Will skip URL https://pypi.python.org/simple/xlrd/ when looking for
download links for xlrd

所以我无法升级pipsetuptools,并且没有找到如何仅更新证书的方法(系统很旧,无法使用 进行更新apt)。安装的python是最新的python-2.7(我必须使用pip-2.7并且virtualenv-2.7为了不获得我不想接触的旧系统版本)。

如何安装适当的证书或解决此问题?

答案1

您应该做的第一件事是使用easy_install降级pip

easy_install-2.7 pip==1.2.1

我也降级setuptools到版本 3.6,但更高版本可能会工作:

easy_install setuptools==3.6

之后您应该能够使用 pip-2.7 更新 python-2.7 的内容


如果您之后创建一个 virtualenv 并激活它,您将拥有最新版本的 pip,它也不会安装任何东西:

$ virtualenv-2.7 testvenv
$ source testenv/bin/activate
(testvenv) $ pip --version
pip 1.5.6
(testvenv) $ pip install ruamel.ordereddict
Downloading/unpacking ruamel.ordereddict
  Cannot fetch index base URL https://pypi.python.org/simple/
  ...

因此,重复易于安装的技巧(无需在激活的 virtualenv 中指定pip-2.7或):easy-install-2.7

(testvenv) $ easy_install pip==1.2.1
....
(testvenv) $ pip install ruamel.ordereddict
Downloading/unpacking ruamel.ordereddict
   Downloading ruamel.ordereddict-0.4.6.tar.gz (47kB): 47kB downloaded
....
Successfully installed ruamel.ordereddict
Cleaning up...
(testvenv) $

答案2

curl -O https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz

tar xvfz pip-1.2.1.tar.gz

cd pip-1.2.1

python setup.py install

相关内容