在一个旧的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才能获得我不想触及的旧系统版本).
如何安装适当的证书或解决此问题?
解决方法:
你应该做的第一件事是使用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) $