Ubuntu 安装 scrapy 及 pip upgrade 时的各种依赖问题

安装 Scrapy 时遇到了依赖问题,使用 pip 时又发现自带的基础 py 包同样依赖不全,后一并 Google 解决,记一笔备忘。

首先安装 PIP,即 python 的包管理器。

由于 ubuntu 官方库提供的 pip 不是最新的,因此需要先 upgrade 自己:

此时如果你直接试图安装 scrapy 是会出错的:

原因是 scrapy 需要抓取网页因而要处理 https,而处理 https 又依赖加解密算法(即 cryptography 包),而 cryptography 又依赖傅立叶变换的算法以及相应的编译环境。Ubuntu 16.04 默认没有安装 libffi-dev 和 libssl-dev,gcc 也不一定安装,而 scrapy 包又没有将相关软件包记到依赖列表里,因此需要先手动安装:

然后再安装 scrapy 即可顺利完成。

 


顺便,由于更新强迫症,一并把 pip 自带的包均更新了一遍。pip 没有 apt 那么好用的 dist-upgrade 命令,需要先手动列出旧包然后逐项更新:

这些 Py 包可以直接升级:

这些 Py 包需要先安装 libssl-dev、libffi-dev、python-dev 以及 build-essential 以后才能升级(其实都是因为要依赖 cryptography):

这些 Py 包需要先安装 python-dev 以及 libjpeg8-dev 以后才能升级:

解决。

 

话说 numpy 的编译时间真是长啊……

发表评论

电子邮件地址不会被公开。 必填项已用*标注