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