安装 Python 模块

作为一个受欢迎的开源开发项目,Python 具有活跃的贡献者和用户支持社区,并且根据开放源代码许可条款,其软件可供其他 Python 开发人员使用。

这使 Python 用户可以受益于其他人已经针对常见(有时甚至是稀有!)问题创建的解决方案,并可以有效地共享和协作,并有可能将自己的解决方案贡献给公共资源库。

本指南涵盖了该过程的安装部分。有关创建和共享自己的 Python 项目的指南,请参阅distribution guide

Note

对于公司和其他机构用户,请注意,许多组织在使用和贡献开源软件方面都有自己的 Policy。在使用 Python 随附的分发和安装工具时,请考虑此类策略。

Key terms

  • pip是首选的安装程序。从 Python 3.4 开始,它默认包含在 Python 二进制安装程序中。

  • “虚拟环境”是半隔离的 Python 环境,该环境允许安装软件包以供特定应用程序使用,而不是在系统范围内安装。

  • venv是用于创建虚拟环境的标准工具,自 Python 3.3 起已成为 Python 的一部分。从 Python 3.4 开始,它默认将pip安装到所有创建的虚拟环境中。

  • virtualenvvenv的第三方替代品(也是其前身)。它允许虚拟环境在 3.4 之前的 Python 版本上使用,这些环境要么根本不提供venv,要么无法自动将pip安装到创建的环境中。

  • Python 打包索引是开放源代码许可软件包的公共存储库,可供其他 Python 用户使用。

  • Python 包装 Management 局是负责标准打包工具以及相关元数据和文件格式标准的维护和 Developing 的一组开发人员和文档作者。他们在GitHubBitbucket上维护各种工具,文档和问题跟踪程序。

  • distutils是 1998 年首次添加到 Python 标准库中的原始构建和分发系统。虽然distutils的直接使用正在逐步淘汰,但它仍为当前的打包和分发基础结构奠定了基础,并且不仅保留为标准的一部分库,但其名称可以pass其他方式保留(例如,用于协调 Python 打包标准开发的邮件列表的名称)。

在版本 3.5 中进行了更改:现在建议使用venv创建虚拟环境。

Basic usage

所有标准包装工具均设计为可从命令行使用。

以下命令将从 Python Packaging Index 安装模块的最新版本及其依赖项:

python -m pip install SomePackage

Note

对于 POSIX 用户(包括 Mac OS X 和 Linux 用户),本指南中的示例假定使用virtual environment

对于 Windows 用户,本指南中的示例假定在安装 Python 时已选择用于调整系统 PATH 环境变量的选项。

也可以直接在命令行上指定精确或最低版本。当使用诸如><之类的比较器运算符或由 shell 解释的某些其他特殊字符时,软件包名称和版本应用双引号引起来:

python -m pip install SomePackage==1.0.4    # specific version
python -m pip install "SomePackage>=1.0.4"  # minimum version

通常,如果已经安装了合适的模块,则try再次安装它不会起作用。必须明确要求升级现有模块:

python -m pip install --upgrade SomePackage

有关pip及其Function的更多信息和资源可在Python 打包用户指南中找到。

虚拟环境的创建passvenv模块完成。使用上面显示的命令将软件包安装到活动的虚拟环境中。

我如何...?

这些是一些常见任务的快速解答或链接。

…在 Python 3.4 之前的 Python 版本中安装 pip 吗?

Python 仅开始将pip与 Python 3.4Binding 在一起。对于较早的版本,需要按照《 Python 打包用户指南》中的说明“引导” pip

…是否仅为当前用户安装软件包?

--user选项传递给python -m pip install将仅为当前用户而不是系统的所有用户安装软件包。

…是否安装科学的 Python 软件包?

许多科学的 Python 软件包都具有复杂的二进制依赖关系,并且目前不容易直接使用pip进行安装。此时,用户通常会passother means来安装这些软件包,而不是trypasspip来安装它们。

…是否可以并行安装多个版本的 Python?

在 Linux,Mac OS X 和其他 POSIX 系统上,将版本化的 Python 命令与-m开关结合使用,以运行pip的适当副本:

python2   -m pip install SomePackage  # default Python 2
python2.7 -m pip install SomePackage  # specifically Python 2.7
python3   -m pip install SomePackage  # default Python 3
python3.4 -m pip install SomePackage  # specifically Python 3.4

适当版本的pip命令也可能可用。

在 Windows 上,结合使用py Python 启动器和-m开关:

py -2   -m pip install SomePackage  # default Python 2
py -2.7 -m pip install SomePackage  # specifically Python 2.7
py -3   -m pip install SomePackage  # default Python 3
py -3.4 -m pip install SomePackage  # specifically Python 3.4

常见安装问题

在 Linux 上的系统 Python 中安装

在 Linux 系统上,Python 安装通常会包含在发行版中。安装到此 Python 安装中需要对系统的根访问权限,并且如果使用pip意外升级了组件,则可能会干扰系统软件包 Management 器和系统其他组件的操作。

在此类系统上,使用pip安装软件包时,通常最好使用虚拟环境或按用户安装。

未安装点子

默认情况下,pip可能没有安装。一种可能的解决方法是:

python -m ensurepip --default-pip

installing pip.还有其他资源

安装二进制 extensions

Python 通常严重依赖基于源的分发,finally用户应在安装过程中从源编译扩展模块。

随着对二进制wheel格式的支持以及pass Python 包装索引发布至少适用于 Windows 和 Mac OS X 的车轮的Function的引入,随着时间的流逝,随着用户更经常地能够安装构建扩展,而不需要自己构建扩展。

尚未作为预建wheel文件提供的某些安装scientific software的解决方案也可能有助于获取其他二进制 extensions,而无需在本地进行构建。