一、简介
pip 是一个安装和管理 Python 包的工具,python安装包的工具有easy_install, setuptools, pip,distribute等。distribute是setuptools的替代品,是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。distribute被创建是因为Setuptools包不再维护了。而pip是easy_install的替代品。
二、安装pip
1
|
# apt-get install python-pip
|
升级:
1
|
# pip install -U pip
|
三、pip包管理
安装包:
1
2
3
4
5
|
root@localhost:~
# pip install django
Collecting django
Using cached Django-1.9.5-py2.py3-none-any.whl
Installing collected packages: django
Successfully installed django-1.9.5
|
指定安装的软件包版本:
通过使用==, >=, <=, >, <来指定一个版本号。
1
|
root@localhost:~
# pip install markdown==2.0
|
升级包:
升级包到当前最新的版本,可以使用-U 或者 --upgrade
1
|
# pip install -U django
|
搜索包:
1
|
# pip search "django"
|
列出已安装的包:
1
2
3
|
root@localhost:~
# pip freeze
Django==1.9.5
Markdown==2.0
|
卸载包:
1
|
# pip uninstall djang
|
四、Requirements Format
pip freeze 和pip list两者都是列出已经安装的软件包,有什么区别呢。help出的解释如下:
1
2
|
freeze Output installed packages
in
requirements
format
.
list List installed packages.
|
当我们用virtualenv的时候,可以指定一个requirements.txt文件来解决依赖关系,用法如下:
1
|
# pip install -r requirements.txt
|
requirements.txt有一个固定的格式:软件包名==版本号,每行代表一个软件包。这样pip才能理解,如下:
1
2
3
4
|
feedparser==5.1.3
wsgiref==0.1.2
django==1.4.2
...
|
这就是所谓的”requirements format“;我们可以用pip freeze > requirements.txt,导出到文件里,然后在另一个地方pip install -r requirements.txt 再导入。
两者的区别可以理解为:pip list列出了所有的包,pip freeze 只列出由pip 安装的软件包,并输出成requirements format格式。
本文转自Jx战壕 51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1769424,如需转载请自行联系原作者