$python包管理工具pip的安装和使用
pip是python的一个非常好用的包管理工具,可以用来很方便地安装和管理各种三方库,本文对其基本用法进行介绍。
安装pip
Windows系统上安装
- python 2.7.9及以上版本的windows版的安装包已经集成了pip,所以到python.org网站下载python-2.7.9.amd64.msi安装包并安装。
- 安装时选择"安装pip"。
- 安装好后添加python.exe和pip.exe文件所在路径到系统环境变量中。这两个路径分别为(假设我的python安装在了D:\Programs\Python27目录下):
D:\Programs\Python27
D:\Programs\Python27\Scripts
- 测试:打开cmd,输入:
pip install web.py - 进入python命令行,输入:
import web,若导入成功则说明pip安装成功。
Linux系统上安装
- 到pypi.python.org上搜索pip,下载最新版本的源码压缩包。
- 在本地解压源码压缩包,进入源码路径,执行:
python setup.py install即可安装。 - 测试:打开cmd,输入:
pip install web.py - 进入python命令行,输入:
import web,若导入成功则说明pip安装成功。
pip常用命令
- 安装软件包:
pip install 包名
注:这里的包名,也可以是已经下载好的whl文件或tar.gz压缩包文件路径,或者包所在的URL地址。
升级pip自身:
pip install --upgrade pip查看已经通过pip安装的包:
pip list显示当前已经通过pip安装的包及版本号:
pip freeze,显示结果示例:
certifi==2017.7.27.1
chardet==3.0.4
idna==2.5
requests==2.18.2
urllib3==1.22
virtualenv==15.1.0
web.py==0.38
将
pip freeze命令的结果重定向到requirements.txt文件中:pip freeze > requirements.txt使用已有的requirements.txt文件在另一个环境上安装各种包(比如在一台新电脑上):
pip install -r requirements.txt
注:这个命令的好处就是,如果换了一个新的环境需要安装一个相同的python环境,那么只需要有requirements.txt文件即可快速安装,就不需要再思考要安装哪些包了。查看某个已经安装的包的详情:
pip show 包名查看过期的包:
pip list --outdated安装包到用户目录:
pip install 包名 --user安装本地的安装包:
pip install 目录|文件名卸载包:
pip uninstall 包名升级包:
pip install 包名 --upgrade显示包所在目录:
pip show -f 包名搜索包:
pip search 关键字查询可升级的包:
pip list -o下载包但不安装:
pip install 包名 -d 目录打包:
pip wheel 包名
pip镜像源的设置与使用
国内pip镜像
注:使用国内的镜像源,安装各种包速度会快一些。
指定单次安装源
pip install 包名 -i 镜像url
指定全局安装源
pip配置文件:
Unix、Mac OS的pip配置文件位于:
$HOME/.pip/pip.confWindows的pip配置文件位于:
%HOME%\pip\pip.ini
注:Windows下%HOME%路径一般为:C:\Users\<UserName>\
往pip配置文件写入如下内容(如果没有配置文件则在相应路径新建一个),这里以豆瓣的镜像为例:
[global]
trusted-host=pypi.douban.com
timeout=6000
index-url=http://pypi.douban.com/simple
随机推荐
- 什么是Web容器?
什么是Web容器? 解答:容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器.
- Java IO系统
理论上,我们可将任何程序分割为三部分:输入.处理和输出.这意味着 IO(输入/输出)是所有程序最为关键的部分.在这一章中,大家将学习Java 为此提供的各种类,如何用它们读写文件.内存块以及控制台 等 ...
- 【tyvj】P2065 「Poetize10」封印一击(贪心+线段树/差分)
http://new.tyvj.cn/p/2065 我就不说我很sb的用线段树来维护值...... 本机自测的时候想了老半天没想出怎么维护点在所有区间被多少区间包含的方法.最后一小时才想出来线段树(果 ...
- win7(64位)+vs2008配置Directshow
参考链接:http://zhuyanfeng.com/archives/1663 PC环境:win7 64bit + vs2008 1.下载64位的win7 SDK2.安装过程中遇到错误(必须要卸载v ...
- MathType可以在Word、PPT中插入矩阵吗
工科学生或者老师在写论文时最头痛的就是编辑公式,因为word自带的公式编辑器往往满足不了专业的公式需求,MathType就很好的解决了这个问题.在进行公式编辑时,难免会遇到输入矩阵的情况,那么怎么输入 ...
- <转载> C++笔试、面试笔记
这些东西有点烦,有点无聊.如果要去C++面试就看看吧.几年前网上搜索的.刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善. 1.求下面函数的返回值( 微软) int func(x) ...
- Wex5循环某个div节点下的所有img标签,替换其src属性值
Model.prototype.newsDetailAfterRefresh = function(event){ var newsDiv = this.getElementByXid("n ...
- 百度订单Api注意事项
背景介绍: 申请的百度地图API,采用javascript sdk方式 页面引用 问题1:更换域名导致定位插件不能用 需要修改百度地图-应用中的白名单设置,按照规则添加新的域名 问题2:http与ht ...
- mysql连接远程数据库的用法
mysql -u root -p 等这些常用的参数外,你知道多少?来测试一下吧 一,mysql命令行参数 Usage: mysql [OPTIONS] [database] //命令方式 -?, ...
- 160621、Java注解教程及自定义注解
Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...