Pip 是 Python 下的包管理工具,是一个命令行程序,可以用来管理和安装 Python 第三方包或模块
Pip 中的命令都以 pip
开头,语法格式如下
pip <command> [options]
说明
日志
命令行日志
pip
命令提供了 -v
、--verbose
和 -q
、--quiet
选项用于控制命令行日志的输出级别,默认情况下,出于醒目的目的,一些信息,比如错误或警告输出的时候会被着色,如果你不想输出的日志被着色,可以使用 --no-color
选项来禁用
pip <command> --no-color [other options]
Pip 中的日志有三个级别 WARNING
、 ERROR
、CRITICAL
,分别表示 警告
、错误
、严重错误
,三个级别是递进的关系
默认情况下只会输出一些说明信息,如果想要输出更多,信息,可以输入更多的 v
或 q
比如 -v
表示允许输出 WARNING
消息,-vv
表示可以输出 WARNING
、 ERROR
消息, -vvv
表示输出所有的信息,当 v
的数量大于 3 的时候,嗯,结果和 3 个是一样的
比起 -v
用于输出更多日志信息,-q
用于输出更少的日志,用法和说明都和 -v
是一样的
文件日志
pip
还提供了 --log
选项,用于将所有的详细日志信息保存到指定的文件,默认情况下,该选项是空的,也就是日志不会保存到任何文件中
例如,如果要将 pip
的日志添加到 /tmp/pip.log
中,可以使用下面的命令
pip pip <command> --log /tmp/pip.log [other options]
pip
的 --log
选项采用的是追加的模式,也就是新产生的日志会追加到文件的末尾
跟大多数 pip
的选项一样,--log
也有一个相对应的环境变量,或者可以在配置文件中设置,更多信息,可以访问 Python Pip 基础教程 - 配置文件
--exists-action 选项
--exists-action
选项用于指定路径已经存在时的默认行为,可能的行为是:下载文件或从仓库中迁出代码用于安装、创建归档
如果未指定 --exists-action
,pip
会在必要时弹出提示,然后再决定下一步该怎么做
可能的选项有
选项 | 说明 |
---|---|
(s)witch | 仅和 VCS 迁出代码相关,会尝试将迁出切换到相应的 URL 和/或修订 |
(i)gnore | 中止当前操作,例如,不复制文件,不创建存档,不修改迁出代码 |
(w)ipe | 在尝试创建,下载或签出新文件之前删除文件或从 VCS 迁出的代码 |
(b)ackup | 将文件或迁出重命名为 {name}{'.bak'* n} ,其中 n 是一些扩展名 .bak ,这样的备份文在某些时候是不存在的,每备份一次就会在文件末尾追加一个 .bak ,因此,最近的备份 .bak 最多的那个 |
(a)abort | 终止 pip 并返回非零退出码 |
常规选项
-
-h, --help
显示帮助信息
-
--isolated
以隔离模式运行 pip,忽略环境变量和用户配置
-
-v, --verbose
小写提供更多输出。选项是叠加的,最多可叠加 3 次
-
-V, --version
大写显示当前 Pip 版本并退出
-
-q, --quit
提供更少的输出。选项是可叠加的,最多叠加 3 次,对应于
WARNING
,ERROR
和CRITICAL
日志记录级别 -
--log <path>
用于记录详细日记的文件
-
--proxy <proxy>
使用
[user:passwd@]proxy.server:port
格式指定代理 -
--retries <retries>
每个连接应尝试的最大重试次数 ( 默认为 5 次 )
-
--timeout <sec>
设置套接字超时 ( 默认为 15 秒 )
-
--exists-action <action>
当路径存在时的默认动作,可选值有 (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort
-
--trusted-host <hostname>
将此主机标记为可信任的,即使它无效或者没有使用 HTTPS
-
--cert <path>
备用 CA bundle 地址
-
--client-cert <path>
SSL 客户端证书的路径,包含私钥和证书的
PEM
格式的单个文件 -
--cache-dir <dir>
缓存目录
-
--disable-pip-version-check
指定不要定期检查
PyPI
以确定是否可以下载新版本的pip
,隐晦使用--no-index
-
--no-color
关闭输出着色
结束语
本来想,本章节我们就介绍一下 pip
的命令,没成想,pip
命令还有很多东西,包括构建系统,而阐述构建系统将会是一个大篇幅,所以,我们还是放到下一章节再细细了解把