问题是,如何在ubuntutrusty上用pip安全地安装包?当然,我需要澄清为什么我认为这是不安全的。在
在python2.7.9之前,如果您在没有安装额外的openssl相关python库的情况下发出https请求,urllib3会给出一个InsecurePlatformWarning
。这是一个公认的问题和答案:
问题是,如果您安装pip版本6左右,它会在您安装任何东西时发出警告。从阅读问题的官方答案来看:
https://urllib3.readthedocs.org/en/latest/security.html#pyopenssl
听起来问题出在pythonsl库中。刚刚在Python库中从ssl切换到最新版本的ssl?我的猜测(也许是一个错误的猜测)是pip以前使用Python库,它只是使用了一个旧版本的urllib,它甚至没有发出警告。所以一直以来都是不安全的(尽管特别关注的秃鹫似乎是最近才出现的)。在
如果是这样的话,Ubuntu上pip的股票版就不安全了。我不能用它来安全地安装这些东西来保证它的安全。不管怎样,我可以从Ubuntu的repo安装相同的东西,它用GPG验证包:
http://packages.ubuntu.com/search?keywords=python-ndg-httpsclient
但以上仅在Utopic中提供。在信任上我似乎被卡住了。在
那有什么关系?我是否必须掷骰子,不安全地安装这些东西一次,然后再安全地使用pip?还是我完全误解了形势?在
默认情况下,pip使用标准库ssl模块(除非您还安装了前面提到的额外库)。在python2.7.9和python3.2(ish,我相信是3.2,可能是3.1)之前,标准库中的ssl模块缺乏控制与ssl相关的某些设置的能力。在
其中一些设置:
至于你该怎么做,这完全取决于你自己。如果您是从PyPI本身安装的,那么这些东西很多都无关紧要,因为我们在服务器端禁用了它们,而不是依赖客户端来实现它们。然而,请求(pip用于访问存储库的底层库)会发出这些警告(pip不会使它们静音),因为PyPI通常不是您要连接到的唯一位置,而且这些附加的位置可能会也可能不会采取与PyPI相同的预防措施。在
来源:我是一个核心pip开发人员和PyPI管理员。在
我读了现有的讨论,想好了,我现在该怎么办?在
后来我意识到,我遇到的根本问题是我使用的是Ubuntu14.04,它提供的python版本有缺陷。所以我升级到15.04。在
相关问题 更多 >
编程相关推荐