$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
随机推荐
- HashMap与TreeMap的区别?
HashMap与TreeMap的区别? 解答:HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用Tre ...
- js autoComplate
在实际的项目中,能用别人写好的插件实现相关功能是最好不过,为了节约时间成本,因为有的项目比较紧急,没充分时间让你自己来写,即便写了,你还要花大量时间调试兼容性.但是出于学习的目的,你可以利用闲暇时间, ...
- Ubuntu系统-网络配置
网络配置 静态IP root@ubuntu:~# cat /etc/network/interfaces # This file describes the network interfaces av ...
- SQLServer中Partition By
http://www.cnblogs.com/vincentonline/p/4999225.html 今天群里看到一个问题,在这里概述下:查询出不同分类下的最新记录.一看这不是很简单的么,要分类那就 ...
- RocketMQ性能压测分析(转载)
一 机器部署 1.1 机器组成 1台nameserver 1台broker 异步刷盘 2台producer 2台consumer 1.2 硬件配置 CPU 两颗x86_64cpu,每颗 ...
- (转)SPDY
SPDY:Google开发的基于传输控制协议(TCP)的应用层协议,目前已经被用于Google Chrome浏览器中来访问Google的SSL加密服务.SPDY并不是一种用于替代HTTP的协议,而是对 ...
- java反射——方法
大家都知道反射技术在Java里面时非常重要的一个技术点,因为Java好多框架的编写都是基于反射的,别的不多说,spring框架里面的IOC就是基于反射实现.那么什么是反射呢?JAVA反射机制是在运行状 ...
- Golang Frameworks
Web frameworks help developers build applications as easily and quickly as possible. Go is still rel ...
- T420 开启麦克风
买来之后一直没注意过麦克风的问题,今天基友们群视频,才发现我的机器是哑的 打开录音设备,发现没有设备 重装驱动无果 打开BIOS,在安全选项——IO/Access中将Microphone 设为 Ena ...
- mysql delete 多表
DELETE u.*,acu.*,alu.* FROM user u, accountuser acu ,algouser alu WHERE u.userId=11 and acu.userID=1 ...