pip install
命令用于安装包
语法
pip install
命令的语法格式如下
pip install [options] <requirement specifier> [package-index-options] ...
或
pip install [options] -r <requirements file> [package-index-options] ...
或
pip install [options] [-e] <vcs project url> ...
或
pip install [options] [-e] <local project path> ...
或
pip install [options] <archive url/path> ...
pip install
命令可以从以下地址安装包
- 使用需求说明符从 PiPY 或其它索引上安装
- VCS 项目网址
- 本地项目目录
- 本地或远程源代码归档
pip 还支持从 「 需求文件 」 ( requirements file ) 安装,这为安装指定的整个环境提供了一种简便方法
选项
-
-c, --constraint <file>
使用给定的约束文件约束版本,该选项可以重复添加
-
-r, --requirement <file>
从给定的需求文件中安装,该选项可以重复添加
按照惯例,需求文件名为
requirements.txt
-
--no-deps
不安装包的任何依赖项
-
--pre
包含预发布版本和开发版本,默认只会包行稳定的版本
-
-e, --editable <path/url>
在可编辑模式下从一个本地的项目路径或 VCS URL 中安装一个项目 ( 例如,setuptools 的 「 开发者模式 」 )
-
-t, --target <dir>
将包安装到指定目录
<dir>
默认情况下,该选项并不会覆盖
<dir>
目录中已经存在的文件或目录,但可以使用--upgrade
选项将已经存在的包更新到最新的版本 -
--user
将所有的包安装到我们的平台的Python 用户安装目录,通常为
~/.local/
或 Windows 上为%APPDATA%Python
( 更多详细信息,可以查看 Python 文档中的site.USER_BASE
部分 ) -
--root <dir>
安装与此备用根目录
<dir>
包含的所有内容 -
--prefix <dir>
安装时,
lib
、bin
和其它顶级目录的存放目录,也就是这些目录的路径前缀 -
-b, --build <dir>
用于存放解压缩的包和构建的包
请注意,初始构建仍发生在临时目录中
可以通过适当地设置
TMPDIR
环境变量 ( Windows上的TEMP
) 来控制临时目录的位置注意,如果使用了该参数,当构建发生故障时,并不会清空构建目录
-
--src <dir>
用于存放迁出的可编辑项目
在虚拟环境中,默认的目录为
<venv path>/src
, 在全局安装中,默认的目录为<current dir>/src
-
-U, --upgrade
更新所有指定的包到最新的可用版本。 依赖项的处理取决于所使用的升级策略
-
--upgrade-strategy <upgrade_strategy>
确定应如何处理依赖项升级 ( 默认值:「 仅在需要时 」)
eager
- 无论当前安装的版本是否满足升级包的要求,都会升级依赖项only-if-needed
- 仅在不满足升级包的要求时才升级
-
--force-reinstall
重新安装所有的包,即使它们已经是最新的版本
-
-I, --ignore-installed
忽略已经安装的包 ( 用重新安装取代 )
-
--ignore-requires-python
忽略 Requires-Python 信息
-
--no-build-isolation
在构建现代的源代码分发包是禁用隔离
如果使用了此选项,则必须已安装 PEP518 规定的构建依赖项
-
--install-option <options>
安装时提供给
setup.py
安装命令的额外参数( 使用方法类似于--install-option="--install-scripts=/usr/local/bin"
)可以使用多个
--install-option
选项将多个选项传递给setup.py install
如果你使用带有目录路径的选项,请确保使用绝对路径
-
--global-option <options>
在
bdist_wheel
命令之前提供给setup.py
调用的额外全局选项 -
--compile
将 Python 源代码编译为 bytecode
-
--no-compile
不要将 Python 源代码编译为
bytecode
-
--no-warn-script-location
当安装脚本不在
PATH
路径中时不要发出警告 -
--no-warn-conflicts
出现已损坏的依赖关系时不要发出警告
-
--no-binary <format_control>
不使用二进制包
该选项可以重复添加,每增加一个就会自增当前的值
可选的值有
:all:
:禁用所有二进制包:none:
:清空集合,或者使用逗号之间的一个或多个包名称
注意,某些软件包编译起来很棘手,并且,即使在添加了此选项后仍然可能无法安装
-
--only-binary <format_control>
不使用源代码包
该选项可以重复添加,每增加一个就会自增当前的值
可选的值有
:all:
:禁用所有源代码包:none:
:清空集合,或者使用逗号之间的一个或多个包名称
注意,没有二进制发行版的软件包在使用此选项时将无法安装
-
--no-clean
不要清空构建目录
-
--require-hashes
对于可重复安装,需要根据哈希值来检查每个需求
如果需求文件中的任何一项包含了
--hash
选项,则隐式包含此选项 -
--progress-bar <progress_bar>
用于指定要显示的进度条类型,可选项有
on
、ascii
、off
、pretty
、emoji
,默认为on
-
-i, --index-url <url>
Python 包索引的基础 URL 地址,默认为 https://pypi.org/simple
该选项的值应该指向符合 PEP503 ( 简单存储库 API ) 的存储库或以相同格式布局的本地目录
-
--extra-index-url <url>
除了
--index-url
之外的附加的 Python 包索引 URL,规则和--index-url
一样 -
--no-index
忽略包索引,使用
--find-links
指定的 URL -
-f, --find-links <url>
如果提供的 URL 或路径链接到一个 html 文件,则会解析该 html 文件以获取归档
如果是本地目录,或
file://url
指向的是一个目录,那么就在该目录中查找归档 -
--process-dependency-links
启用依赖关系链接的处理
范例
使用 要求描述符 从 PyPI 安装 SomePackage
及其依赖项
$ pip install SomePackage # 最新版本 $ pip install SomePackage==1.0.4 # 指定版本 $ pip install 'SomePackage>=1.0.4' # 最小版本
安装文件中指定的要求列表,更多信息可以参考本章节的 Requirements 文件
$ pip install -r requirements.txt
升级已安装的 SomePackage
到 PyPI
中的最新版本
$ pip install --upgrade SomePackage
以 「 可编辑 」 模式从 VCS
安装项目,更多信息可以参考本章节的 可编辑安装模式
$ pip install -e . # project in current directory $ pip install -e path/to/project # project in another directory
安装包含 setuptools 附件 的软件包
$ pip install SomePackage[PDF] $ pip install git+https://git.repo/some_pkg.git#egg=SomePackage[PDF] $ pip install SomePackage[PDF]==3.0 $ pip install -e .[PDF]==3.0 # editable project in current directory $ pip install SomePackage[PDF,EPUB] # multiple extras
安装特定的源代码归档文件
$ pip install ./downloads/SomePackage-1.0.4.tar.gz $ pip install http://my.package.repo/SomePackage-1.0.4.zip
从备用软件包存储库安装
从其它的索引处安装,而不是 PyPI
$ pip install --index-url http://my.package.repo/simple/ SomePackage
除了 PyPI
之外,安装期间还可以搜索其它索引
$ pip install --extra-index-url http://my.package.repo/simple SomePackage
从包含归档的本地目录安装,并且不扫描索引
$ pip install --no-index --find-links=file:///local/dir/ SomePackage $ pip install --no-index --find-links=/local/dir/ SomePackage $ pip install --no-index --find-links=relative/dir/ SomePackage
除了稳定版本外,还可以查找预发布版本和开发版本
默认情况下,pip 只会查找稳定的版本
$ pip install --pre SomePackage