安装Python模块的介绍-包括Windows和POSIX用户(Mac OS X和Linux用户)
作为一个流行的开源开发项目,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上,将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上安装到系统
在Linux系统上,Python安装通常将作为分发的一部分包含在内。安装到此Python安装需要对系统进行root访问,如果使用意外升级组件,则可能会干扰系统包管理器和系统的其他组件的操作pip
。
在此类系统上,在安装软件包时,通常最好使用虚拟环境或每用户安装pip
。
安装二进制扩展
Python通常严重依赖基于源的分发,最终用户需要在安装过程中从源代码编译扩展模块。
随着对二进制wheel
格式的支持的引入,以及通过Python打包索引为至少Windows和Mac OS X发布轮子的能力,这个问题预计会随着时间的推移而减少,因为用户可以更经常地安装预先构建扩展而不是自己构建它们。
用于安装 尚未作为预构建文件提供的科学软件的一些解决方案wheel
也可以帮助获得其他二进制扩展而无需在本地构建它们。
也可以看看