Python开发之pip使用详解
1 pip的优点
pip如今已经成为了Python的一大特色,可以很方便得协助Python开发者进行包管理。综合来说,匹配拥有如下优点:
-
pip提供了丰富的功能,其竞争对手easy_install只支持安装,没有提供写在和显示已安装列表的功能。
-
pip能够很好地支持虚拟环境。
-
pip可以通过requirements.txt集中管理依赖;
-
pip能够处理二进制格式(.whl);
-
pip是先下载后安装,如果安装失败,也会清理干净,不会留下一个中间状态。
2 pip常用命令
pip提供的命令不多,但是都很实用。
(1)pip查看版本与升级
查看pip版本:pip -V
升级pip :pip install --upgrade pip
上面图片中,因为我的电脑中的pip已经是最新,所有并没有升级。
(2)查看已安装第三方包列表:pip list
(3)pip安装第三方包:pip install
-
直接安装:pip install 包名
这一命令会默认安装最新版本的包,如果想要安装指定版本的第三方包,可以通过以下命令指定版本。
-
指定版本安装:pip install 包名==版本号
-
通过.whl安装包安装:pip install .whl安装包名
这种方式通常在直接pip安装出现异常时使用。.whl安装包需在安装前下载好,下面推荐一个常用的.whl包下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
-
通过requirements.txt安装:pip install -r requirements.txt
这种方式一般用于安装项目依赖。requirements.txt中,通过使用== >= <= > <来指定版本,不写则安装最新版。requirements.txt的内容格式如下:
Twisted==18.9.0
SQLAlchemy==1.2.18
Django==1.5.4
pandas==0.24.1
lxml==4.3.1
(4)升级包:pip install -U 包名
(5)查看安装包详细信息:pip show 包名
(6)卸载第三方包:pip uninstall 包名
3 pip使用国内pypi镜像
pip命令默认使用的是国外的pypi镜像(pypi.python.org),安装慢不说,有时甚至会导致出现超时等网络问题,造成安装失败。所以,使用国内的pypi镜像,不失为一种加速pip安装第三方包的好方法。国内的第三方镜像源有很多,如下所示:
阿里云镜像源:http://mirrors.aliyun.com/pypi/simple/
中国科技大学镜像源: https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣镜像源: http://pypi.douban.com/simple/
清华大学镜像源:https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学镜像源:http://pypi.mirrors.ustc.edu.cn/simple/
如果要使用第三方镜像源,只需要在安装时,通过pip命令的-i选项指定镜像源即可,例如通过豆瓣源安装flask:
pip install -i https://pypi.douban.com/simple/ flask==0.12
如果每次安装时都想要通过豆瓣源来安装,上面的办法不免有些麻烦。我们可以修改pip的配置文件,将镜像源写入配置文件中。
对于linux系统,需要先创建~/.pip/pip.conf文件,然后在文件中保存如下内容:
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host = pypi.douban.com
对于windows系统,在C:\Users\文件夹下的用户目录(例如如果当前用户是Administrator则是C:\Users\Administrator)下创建pip文件夹,然后在pip文件夹先创建pip.ini文件,在文件中写入一下内容:
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host = pypi.douban.com
测试一下:
4 总结
本篇博文内容不多,但囊括了大部分的pip使用方法。pip功能强大,用法简单,的确是Python开发的好帮手。
作者:奥辰
微信号:chb1137796095
Github:https://github.com/ChenHuabin321
欢迎加V交流,共同学习,共同进步!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。