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

这使得Python用户可以有效地共享和协作,从其他人已经为常见(有时甚至是罕见的)问题创建的解决方案中受益,并且可能为公共池提供他们自己的解决方案。

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

注意

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

关键术语

  • pip是首选的安装程序。从Python 3.4开始,它默认包含在Python二进制安装程序中。
  • 虚拟环境是半隔离的Python环境,允许要安装的软件包使用由特定的应用程序,而不是被安装的系统宽。
  • venv是用于创建虚拟环境的标准工具,并且自Python 3.3以来一直是Python的一部分。从Python 3.4开始,它默认安装pip到所有创建的虚拟环境中。
  • virtualenv是第三方替代(和前任) venv。它允许在3.4之前的Python版本上使用虚拟环境,这些版本根本不提供venv,或者无法自动安装pip到创建的环境中。
  • Python打包指数是由其他Python用户提供使用开放源代码许可包的公共仓库。
  • Python打包管理局是该组的开发人员和文档的作者负责的标准包装工具维护和发展以及相关的元数据和文件格式标准。他们在GitHub和 BitBucket上维护着各种工具,文档和问题跟踪器。
  • distutils是1998年首次添加到Python标准库的原始构建和分发系统。虽然直接使用distutils正在逐步淘汰,但它仍然为当前的打包和分发基础架构奠定了基础,它不仅仍然是标准库的一部分,但它的名字仍以其他方式存在(例如用于协调Python包装标准开发的邮件列表的名称)。

从版本3.6pyvenv开始不推荐使用:是用于为Python 3.3和3.4创建虚拟环境的推荐工具,在Python 3.6中已弃用。

在3.5版本中改变了:采用venv目前推荐用于创建虚拟环境。

也可以看看

Python安装用户指南:创建和使用虚拟环境

基本用法

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

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

python -m pip install SomePackage

注意

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

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

也可以直接在命令行上指定精确或最小版本。当使用比较运营商,如><或得到由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包装用户指南”。

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

…与多个版本的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上,将pyPython启动器与-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上安装到系统

在Linux系统上,Python安装通常将作为分发的一部分包含在内。安装到此Python安装需要对系统进行root访问,如果使用意外升级组件,则可能会干扰系统包管理器和系统的其他组件的操作pip

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

Pip未安装

pip默认情况下可能没有安装。一个可能的解决方案是

python -m ensurepip --default-pip

还有其他资源用于安装pip

安装二进制扩展

Python通常严重依赖基于源的分发,最终用户需要在安装过程中从源代码编译扩展模块。

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

用于安装 尚未作为预构建文件提供的科学软件的一些解决方案wheel也可以帮助获得其他二进制扩展而无需在本地构建它们。

也可以看看