在旧的 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
所以我无法升级pip
或setuptools
,并且没有找到如何仅更新证书的方法(系统很旧,无法使用 进行更新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