1.7 pip工具的使用
在实际编写Python程序时会经常用到第三方库包,如果不依赖工具,我们就需要去pypi网站上下载相应的压缩包并解压,执行命令python setup.py install进行安装。如果不顺利的话,命令就会提示缺少相应的依赖包,然后下载依赖包,在安装依赖包时,可能还会需要再安装依赖包的依赖包。读者可能会想:这种繁杂重复的过程为什么不交给程序来完成呢?想得没错,pip工具就是为解决包的问题而生的。
pip是Python最优秀的包管理工具之一,作为easy_install工具的升级版,将来完全可以取代easy_install。
下面从pip的安装和使用来做一个简单的介绍。
1. 安装
目前Python版本Python2.7.9以上或Python3.4以上版本都自带pip工具,在命令行中输入pip –version,如果有相关的版本信息,则说明pip工具已经安装,可以直接使用。
如果显示没有这个命令,则需要手动安装。安装过程也相当简单,执行下面两步即可:
(1)下载get-pip.py https://bootstrap.pypa.io/get-pip.py。
(2)执行Python get-pip.py,即为当前版本的Python环境安装pip。
2. 使用
在命令窗口输入“pip –help”可以查看pip的帮助文档,如图1.39所示。
图1.39 pip帮助指南
pip支持命令从上到下依次为安装、下载、卸载、生成requirements文件、列出已安装的包、显示安装包的信息、检查、配置、查找、从requirements文件生成轮子、计划包hash值、命令补全、帮助。
常用的命令为前三个:install、download、uninstall。
如何使用pip安装所需要的包呢?请在命令行输入“pip install –help”。如果使用download命令,请在命令行输入“pip download –help”进行查看,如图1.40所示。
图1.40 pip帮助
如果有不认识的单词,请及时查阅字典,查看帮助文档是我们学习工具最快的方法。下面对常用的一些命令进行简单介绍。
(1)在线安装:pip install packgename,例如pip install watchdog会自动下载watchdog及其依赖的包并自动完成安装。
(2)离线安装:pip install --find-links filepath --no-index packgename,这段话告诉pip仅从filepath查找相应的包信息并安装。需要我们提前在filepath路径准备好待安装的包及其依赖的包。filepath也可以是一个url。
(3)卸载包:pip uninstall packgename。
(4)查看已安装的包:pip list。
(5)将已安装的包生成requirements文件:pip freeze > re.txt。requirements文件有什么用呢?用处非常大。如果你在机器A上部署了一个应用,现在你需要在机器B上部署同样的应用,再一个包一个包的安装就太低效了。一般的方法是这样的:在A上生成re.txt,将re.txt传到B上,在B上执行pip install -r re.txt即可自动安装re.txt中指定的包。
(6)下载包:pip download packagename,该命令下载包至当前路径。如果下载到指定路径path,可以这样执行:pip download --dest path packagename。如果当前版本是Python3.6,想下载Python2.7相应的软件包,则执行pip download --dest path --Python-version 27 packagename。
(7)下载requirements文件中的包:pip download -r requirements.txt。
(8)查看哪些包可以更新: pip list –outdated。
以上命令基本可以满足我们的日常需求,如果有特殊情况,比如只下载二进制包安装,或者只下载源代码包安装,则需要加--only-binary或--no-binary等参数,可参考pip帮助文档。
下载速度优化:如果安装一些较大的包,我们会发现下载的速度比较慢,是因为pip默认的安装源都在国外,所以把pip安装源替换成国内镜像,不仅可以大幅提升下载速度,还可以提高安装成功率。目前国内源有以下几个:
清华:https://pypi.tuna.tsinghua.edu.cn/simple。
阿里云:http://mirrors.aliyun.com/pypi/simple/。
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/。
华中理工大学:http://pypi.hustunique.com/。
山东理工大学:http://pypi.sdutLinux.org/。
豆瓣:http://pypi.douban.com/simple/。
临时使用国内的源可以在使用pip时加参数-i,如pip install -i https://pypi.tuna.tsinghua.edu.cn/simplepyspider,这样就会从清华这边的镜像去安装pyspider库。
如果想永久修改默认的源,一劳永逸,就可以将pip的配置文件修改为以下内容(其他的源类比):
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple
Linux下,修改~/.pip/pip.conf(没有就创建一个文件及文件夹,文件夹要加“.”,表示隐藏文件夹)。
Windows下,直接在user目录中创建一个pip目录,如C:\Users\xx\pip,新建文件pip.ini,内容同上。