Pip 是 Python 下的包管理工具,一般用于代替 easy_install
来管理和安装 Python 第三方包或模块
Pip 提供了很多 Shell 命令来管理和安装 Python 第三方包,这些命令都以 pip
开头
安装
截止于今天 ( 2018 年 7 月 19 日 ) ,所有的最新的 Python 都内置了 Pip ,也就是说我们不需要再单独去安装 Pip
当然了, Pip 也是不断向前发展的,所以 Python 自带的 Pip 可能不是最新的,这时候就可以使用
pip instll -U pip
这个神奇的命令来安装最新的版本
如果你的 Pip 已经是最新的版本,输出结果一般如下
Looking in indexes: https://pypi.douban.com/simple Requirement already up-to-date: pip in /Users/yufei/python/pip/lib/python3.7/site-packages (10.0.1)
安装第三方模块
如果你知道第三方模块的名称,那么可以使用下面的命令从 PypI 官方仓库里安装它
pip install SomePackage
例如大名鼎鼎的 flask
Web 框架,我们的安装命令如下
$ pip install flask
$
美元符号是 Shell 命令行输入的标志
如果想要安装的第三方模块或包已经从 PyPI
或者从别处下载到本地,如果目标计算机没有网络连接,这种情况非常多见
我们仍然可以使用 pip install
命令来安装
$ pip install SomePackage-1.0-py2.py3-none-any.whl [...] Successfully installed SomePackage
显示安装了哪些文件
如果要显示某个第三模块都安装了哪些文件,可以使用 pip show
命令
$ pip show --files SomePackage Name: SomePackage Version: 1.0 Location: /my/env/lib/pythonx.x/site-packages Files: ../somepackage/__init__.py [...]
例如显示 flask
模块安装了哪些文件,则命令如下
$ pip show --files flask Name: Flask Version: 1.0.2 Summary: A simple framework for building complex web applications. Home-page: https://www.palletsprojects.com/p/flask/ Author: Armin Ronacher Author-email: armin.ronacher@active-4.com License: BSD Location: /Users/luojianguo/Downloads/curl_mail/python/pip/lib/python3.7/site-packages Requires: Werkzeug, itsdangerous, Jinja2, click Required-by: Files: ../../../bin/flask Flask-1.0.2.dist-info/INSTALLER Flask-1.0.2.dist-info/LICENSE.txt Flask-1.0.2.dist-info/METADATA Flask-1.0.2.dist-info/RECORD Flask-1.0.2.dist-info/WHEEL Flask-1.0.2.dist-info/entry_points.txt Flask-1.0.2.dist-info/top_level.txt flask/__init__.py flask/__main__.py flask/__pycache__/__init__.cpython-37.pyc flask/__pycache__/__main__.cpython-37.pyc flask/__pycache__/_compat.cpython-37.pyc flask/__pycache__/app.cpython-37.pyc flask/__pycache__/blueprints.cpython-37.pyc flask/__pycache__/cli.cpython-37.pyc flask/__pycache__/config.cpython-37.pyc flask/__pycache__/ctx.cpython-37.pyc flask/__pycache__/debughelpers.cpython-37.pyc flask/__pycache__/globals.cpython-37.pyc flask/__pycache__/helpers.cpython-37.pyc flask/__pycache__/logging.cpython-37.pyc flask/__pycache__/sessions.cpython-37.pyc flask/__pycache__/signals.cpython-37.pyc flask/__pycache__/templating.cpython-37.pyc flask/__pycache__/testing.cpython-37.pyc flask/__pycache__/views.cpython-37.pyc flask/__pycache__/wrappers.cpython-37.pyc flask/_compat.py flask/app.py flask/blueprints.py flask/cli.py flask/config.py flask/ctx.py flask/debughelpers.py flask/globals.py flask/helpers.py flask/json/__init__.py flask/json/__pycache__/__init__.cpython-37.pyc flask/json/__pycache__/tag.cpython-37.pyc flask/json/tag.py flask/logging.py flask/sessions.py flask/signals.py flask/templating.py flask/testing.py flask/views.py flask/wrappers.py
显示不是最新版本的模块
如果第三方模块有人维护,那么几乎会不断的推出新的版本,这样我们已经安装的模块可能就不是最新的了,如果要显示哪些模块不是最新的版本,可以使用 pip list --outdated
命令
$ pip list --outdated SomePackage (Current: 1.0 Latest: 2.0)
更新模块
如果某个第三方模块不是最新的,那么我们可能需要将它更新到最新的版本,可以使用 pip install -U
命令
$ pip install -U SomePackage Found existing installation: SomePackage 1.0 Uninstalling SomePackage: Successfully uninstalled SomePackage Running setup.py install for SomePackage Successfully installed SomePackage
移除模块
如果某个模块不再使用,可以将它移除,这是一个良好的编程习惯,如果要删除一个模块,可以使用 pip uninstall
命令
$ pip uninstall SomePackage Uninstalling SomePackage: /my/env/lib/pythonx.x/site-packages/somepackage Proceed (y/n)? y Successfully uninstalled SomePackage