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开发的好帮手。
Python开发之pip使用详解的更多相关文章
- [置顶] Android开发之MediaPlayerService服务详解(一)
前面一节我们分析了Binder通信相关的两个重要类:ProcessState 和 IPCThreadState.ProcessState负责打开Binder 驱动,每个进程只有一个.而 IPCThre ...
- Android开发之EditText属性详解
1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以”.”形式显示文本 ( ...
- 【转】 Android开发之EditText属性详解
原文网址:http://blog.csdn.net/qq435757399/article/details/7947862 1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: ...
- NDK开发之JNIEnv参数详解
即使我们Java层的函数没有参数,原生方法还是自带了两个参数,其中第一个参数就是JNIEnv. 如下: native方法: public native String stringFromC(); pu ...
- android开发之onCreate( )方法详解
这里我们只关注一句话:This is where you should do all of your normal static set up.其中我们只关注normal static,normal: ...
- Android开发之MediaRecorder类详解
MediaRecorder类介绍: MediaRecorder类是Android sdk提供的一个专门用于音视频录制,一般利用手机麦克风采集音频,摄像头采集图片信息. MediaRecorder主要函 ...
- NDK开发之ndk-build命令详解
毫无疑问,通过执行ndk-build脚本启动android ndk构建系统. 默认情况下,ndk-build脚本在工程的主目录中执行,如: 我们可以用使用-C参数改变上述行为,-C指定工程的目录,这样 ...
- android开发之Parcelable使用详解
想要在两个activity之间传递对象,那么这个对象必须序列化,android中序列化一个对象有两种方式,一种是实现Serializable接口,这个非常简单,只需要声明一下就可以了,不痛不痒.但是a ...
- android开发之PreferenceScreen使用详解
是在惭愧,学习android也有一段时间了,今天才是第一次接触PreferenceScreen.记录下来,与大家分享. 本文参考:http://lovezhou.iteye.com/blog/1020 ...
随机推荐
- C. Trailing Loves (or L'oeufs?)
题目链接:http://codeforces.com/contest/1114/problem/C 题目大意:给你n和b,让你求n的阶乘,转换成b进制之后,有多少个后置零. 具体思路:首先看n和b,都 ...
- log4j日志日记记录使用教程
注意:每次引入Logger的时候注意引入的jar包,因为有Logger的包太多了...... Logger必须作为类的静态变量使用.原因如下: 1 使用static修饰的属性是归这个类使用的2 也就是 ...
- 复制vmware主机修改网卡
https://blog.csdn.net/gui951753/article/details/79491092
- CentOS 6.5下快速搭建ftp服务器[转]
CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...
- 在分析nginx日志时常用命令总结【转】
1. 利用grep ,wc命令统计某个请求或字符串出现的次数 比如统计GET /app/kevinContent接口在某天的调用次数,则可以使用如下命令: [root@Fastdfs_storage_ ...
- jvm系列一、java类的加载机制
一.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构 ...
- bzoj 1803: Spoj1487 Query on a tree III(主席树)
题意 你被给定一棵带点权的n个点的有根数,点从1到n编号. 定义查询 query(x,k): 寻找以x为根的k大点的编号(从小到大排序第k个点) 假设没有两个相同的点权. 输入格式: 第一行为整数n, ...
- Docker+STF在ubuntu下测试环境搭建(详细搭建步骤及踩坑记录)
一.什么是OpenSTF? STF又称OpenSTF,它是一个手机设备管理平台,可以对手机进行远程管理.调试.远程手机桌面监控等操作.这个系统类似于目前很流行的云测服务比如Testin,虽然网页上提供 ...
- php-fpm 配置文件检测
用过 Nginx 的兄弟都知道,修改 Nginx 配置文件之后,可以使用 nginx -t 来检测配置文件是否有语法错误. 今天配置 opcache 的时候,发现 php-fpm 也可以检测 php- ...
- python 全栈开发,Day93(vue内容补充,VueX)
昨日内容回顾 1. 页面的布局 Vue中使用Bootstrap搭页面 1. 安装 1. npm install bootstrap@3.3.7 -S 2. 使用 1. import 'bootstra ...