Difference between 'python setup.py install' and 'pip install'
我有一个要从tar文件安装到python virtualenv中的外部包。安装软件包的最佳方法是什么?
我发现了两种方法:
是否在这两种方式上有什么不同。
从表面上看,这两种方法都是一样的:无论是执行
然而,使用PIP提供了一些额外的优势,使其更好地使用。
- PIP将自动为您下载包的所有依赖项。相反,如果您使用
setup.py ,则通常需要手动搜索和下载依赖项,这很繁琐,并且可能会变得令人沮丧。 - PIP跟踪各种元数据,这些元数据允许您使用单个命令轻松卸载和更新包:
pip uninstall 和pip install --upgrade 。相反,如果您使用setup.py 安装包,那么如果您想删除包,就必须手动删除和维护它,这可能是容易出错的。 - 您不再需要手动下载文件。如果你使用
setup.py ,你必须访问图书馆的网站,找到下载的地方,提取文件,运行setup.py 。相反,pip将自动搜索python包索引(pypi)以查看包是否存在,并将自动为您下载、提取和安装包。除了一些例外,几乎每个真正有用的python库都可以在pypi上找到。 - PIP可以让您轻松地安装轮子,这是Python发行版的新标准。有关车轮的详细信息。
- PIP提供了与使用
virtualenv 很好地集成的额外好处,该程序允许您运行多个项目,这些项目需要在计算机上使用冲突的库和Python版本。更多信息。 - 默认情况下,从Python2.x系列的python 2.7.9开始,到Python3.x系列的python 3.4.0开始,pip与python捆绑在一起,使用起来更加容易。
所以基本上,使用pip。它只比使用
如果您使用的是旧版本的python,无法升级,并且没有安装pip,则可以在以下链接中找到有关安装pip的详细信息:
- 有关为所有操作系统安装PIP的正式说明
- 关于在Windows上安装PIP的说明(包括常见问题的解决方案)
- 安装Mac OX PIP的说明
PIP本身并不需要教程。90%的时候,你真正需要的命令是
- 快速入门指南
- 官方文件。
通常还建议同时使用pip和virtualenv。如果您是Python的初学者,我个人认为,从全球范围内使用PIP和安装软件包开始就可以了,但最终我认为您应该在处理更严重的项目时过渡到使用virtualenv。
如果您想进一步了解如何一起使用pip和virtualenv,请参见:
- 为什么要使用pip和virtualenv
- 对python初学者的pip和virtualenv的非魔法介绍
- 虚拟环境
综上所述:使用