pip 食用手册
pip 食用手册
[TOC]
pip是一个以Python计算机程序语言写成的软件包管理系统,他可以安装和管理软件包,另外不少的软件包也可以在“Python软件包索引”中找到。
维基百科
pip 的下载、安装、更新
快2020年了,正常下载 Python 后,pip 都是安装好了的。
不过一般下的 Python 安装包里 pip 都不是最新版本,使用以下命令更新 pip:
python -m pip install --upgrade pip
# 以下是 2019-12-18 的运行结果
Collecting pip
Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB)
|████████████████████████████████| 1.4MB 726kB/s
Installing collected packages: pip
Found existing installation: pip 19.1.1
Uninstalling pip-19.1.1:
Successfully uninstalled pip-19.1.1
Successfully installed pip-19.3.1
如果您到 pip 默认源的网络连接较差,临时使用镜像站来升级 pip:
# 清华大学源
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
更换更新源
升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
# 清华大学源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
临时使用
注意,simple
不能少, 是 https
而不是 http
# 清华大学源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
安装包
pip install 安装包名
列出已安装的包
pip list
卸载包
pip uninstall 要卸载的包名
更新包
查看更新
pip list --outdated
批量更新
根据 How to upgrade all Python packages with pip? 整理而成。
1.亲测可行
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
2.未测试
import pkg_resources
from subprocess import call
packages = [dist.project_name for dist in pkg_resources.working_set]
call("pip install --upgrade " + ' '.join(packages), shell=True)
3.未测试
pip install pip-review
pip-review --local --interactive
单个更新
pip install --upgrade 要升级的包名
参数
# pip --help
Usage:
pip<command>[options]
Commands:
install 安装包.
uninstall 卸载包.
freeze 按着一定格式输出已安装包列表
list 列出已安装包.
show 显示包详细信息.
search 搜索包,类似yum里的search.
wheel Buildwheelsfromyourrequirements.
zip 不推荐.Zipindividualpackages.
unzip 不推荐.Unzipindividualpackages.
bundle 不推荐.Createpybundles.
help 当前帮助.
GeneralOptions:
-h,--help 显示帮助.
-v,--verbose 更多的输出,最多可以使用3次
-V,--version 现实版本信息然后退出.
-q,--quiet 最少的输出.
--log-file<path> 覆盖的方式记录verbose错误日志,默认文件:/root/.pip/pip.log
--log<path> 不覆盖记录verbose输出的日志.
--proxy<proxy> Specifyaproxyintheform[user:passwd@]proxy.server:port.
--timeout<sec> 连接超时时间(默认15秒).
--exists-action<action> Defaultactionwhenapathalreadyexists:(s)witch,(i)gnore,(w)ipe,(b)ackup.
--cert<path> 证书.