要说使用Python中最让人头疼的过程,不是程序崩溃代码报错,而是卡在安装某个依赖库上,因为报错的代码千篇一律但安装失败的情况千奇百怪,因此本文将介绍我在安装第三方库遇到问题时的一般操作。
在安装某个库的时候,首先当然是直接pip,比如pip install pandas,可是在某些时候会发现下载速度只有1kb/秒,甚至在苦苦等到花儿都谢了之后的99%直接报错time out,是不是想砸电脑的心都有了。
这时在pip最后加上一个镜像源速度就会嗖嗖的上去了,比如使用清华源
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
好了,这么一操作速度是上去了但是可能依旧会报出安装失败,这时可以尝试使用conda install xxx或者打开anaconda在包管理器中搜索安装
anaconda会查找你需要安装的包并提示安装相关依赖包,你问这和pip有什么区别,反正pip不好用的时候,从这里试一下经常就能搞定。但是anaconda中有时并找不到我们要的库,所以这时候就要去pypi网站(http://pypi.org/)中搜索你需要的库
然后点击download,在右边的一堆结果中找到你系统对应版本的轮子下载到本地,然后就可以安装了,但是有的时候,你会发现怎么一个库会提供.whl/.tar/.tar.gz,这三种格式的安装文件有啥区别呢?
whl文件(也就是轮子)就是已经编译好的包,类似于exe文件安装只需要打开命令行(终端)输入pip install 接着直接将这个轮子拖进命令行按回车就能安装,而tar包只是打包在一起还没有编译的源文件,tar.gz包是压缩并打包在一起的源文件,也没有编译,而安装这两种包的方法就是先解压,然后在命令行cd进入解压得到的文件夹,执行下面代码即可
python setup.py install
如果还是报错,那么可以根据提示来看是你的版本下载错了,还是有什么依赖没有安装,版本错了重新下,依赖没装就一个一个装上,现在还有最后一个问题,怎样安装历史版本的库,比如pyecharts,0.5.x版本与1.x版本的语法基本不一样,pip默认会安装最新版本,那怎样安装历史版本?可以在pip最后加上你需要的版本比如
pip install pyecharts == 0.5.9.11
如果安装失败或者pypi中又找不到我要的指定版本怎么办?此时可以从下面的网站中找
www.lfd.uci.edu/~gohlke/pythonlibs/
基本上官方的、非官方的第三方库都能在里面,然后找到你环境所对应版本的轮子用之前方法安装即可,并且还会告诉你需要哪些依赖库
好了,以上就是我在安装python第三方库时常用的方法与网站,其实在安装包出错时都会提示你哪里出问题了,而大多数情况无非是连接超时、版本不对、依赖包安装失败。连接超时就换个镜像、版本不对就更新版本、依赖包安装失败就找到报错的那个包下载源文件/轮子一个一个安装总能搞定。希望大家不要因为这些问题折腾太久。拜拜~