安装python模块

电子邮件

distutils-sig@python.org

作为一个流行的开源开发项目,python有一个由贡献者和用户组成的活跃的支持社区,这也使得其他python开发人员可以在开源许可条款下使用他们的软件。

这使得python用户能够有效地共享和协作,受益于其他人已经创建的公共解决方案(有时甚至很少!)问题,以及可能为公共池贡献自己的解决方案。

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

注解

对于公司和其他机构用户,请注意许多组织都有自己的政策来使用和贡献开源软件。在使用随python提供的分发和安装工具时,请考虑这些策略。

关键术语

  • pip 是首选安装程序。从Python3.4开始,默认情况下它包含在Python二进制安装程序中。

  • A 虚拟环境 是一个半隔离的Python环境,它允许为特定应用程序而安装包,而不是在系统范围内安装包。

  • venv 是创建虚拟环境的标准工具,并且自Python3.3以来一直是Python的一部分。从python 3.4开始,它默认为安装 pip 所有创建的虚拟环境。

  • virtualenv 是第三方的替代方案(和前身) venv .它允许在3.4之前的Python版本上使用虚拟环境,这两种版本都不提供 venv 或者根本无法自动安装 pip 到创建的环境中。

  • 这个 Python Packaging Index _是开放源代码许可包的公共存储库,可供其他Python用户使用。

  • 这个 Python Packaging Authority 是一组开发人员和文档作者,负责标准打包工具以及相关元数据和文件格式标准的维护和发展。他们维护各种工具、文档,并在两者上发布跟踪程序 GitHubBitbucket .

  • distutils 最初的构建和分发系统是1998年首次添加到Python标准库中的。同时直接使用 distutils 正在逐步淘汰,它仍然为当前的打包和分发基础设施奠定了基础,它不仅是标准库的一部分,而且其名称以其他方式继续存在(例如用于协调Python封装标准开发的邮件列表的名称)。

在 3.5 版更改: venv 现在建议用于创建虚拟环境。

基本用法

标准的打包工具都设计为从命令行使用。

以下命令将从python打包索引安装模块及其依赖项的最新版本:

python -m pip install SomePackage

注解

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

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

也可以直接在命令行上指定一个精确的或最小的版本。当使用比较器运算符时,例如 >< 或者其他一些由shell解释的特殊字符,包名和版本应该用双引号括起来:

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

通常情况下,如果已经安装了合适的模块,尝试再次安装将不会产生任何效果。必须显式请求升级现有模块::

python -m pip install --upgrade SomePackage

有关的更多信息和资源 pip 它的功能可以在 Python Packaging User Guide _.

创建虚拟环境是通过 venv 模块。将包安装到活动虚拟环境中使用上面显示的命令。

我该怎么办...?

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

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

python只开始捆绑 pip 使用python 3.4。对于早期版本, pip 需要“引导”,如《Python打包用户指南》中所述。

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

路过 --user 选择权 python -m pip install 将仅为当前用户而不是系统的所有用户安装包。

…安装科学的python包?

许多科学的python包都有复杂的二进制依赖关系,目前使用 pip 直接。此时,用户通常更容易通过以下方式安装这些包: other means _而不是试图安装它们 pip .

…使用并行安装的多个版本的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 .

在这样的系统上,当安装带有 pip .

未安装PIP

有可能 pip 默认情况下不安装。一个潜在的解决办法是:

python -m ensurepip --default-pip

还有其他资源用于 installing pip. _

安装二进制扩展

python通常严重依赖于基于源代码的分发,最终用户将从源代码编译扩展模块,作为安装过程的一部分。

引入了对二进制的支持 wheel 格式,以及通过python打包索引为至少Windows和Mac OS X发布轮子的能力,随着时间的推移,这个问题预计会减少,因为用户更经常能够安装预构建的扩展,而不需要自己构建它们。

安装的一些解决方案 scientific software _还没有预建的 wheel 文件还可以帮助获取其他二进制扩展名,而无需在本地构建它们。