“python setup.py install”和“pip install”之间的区别
我有一个外部软件包,我想从tar文件安装到我的python virtualenv。 什么是安装软件包的最佳方式?
我发现了两种方法可以做到这一点:1)解压缩tar文件,然后在提取的目录中运行“python setup.py install”。 2) https://pip.pypa.io/en/stable/reference/pip_install/#examples中示例#7的“pip install packagename.tar.gz”
这两种方式是否有区别?
表面上,两者都做同样的事情:做任何python setup.py install
或pip install <PACKAGE-NAME>
将安装您的python包,最less量的大惊小怪。
但是,使用点提供了一些额外的优势,使得它使用更好。
- 点将自动为您下载一个包的所有依赖项。 相反,如果使用
setup.py
,则通常必须手动search并下载依赖项,这很乏味,可能会令人沮丧。 - pip会跟踪各种元数据,使您可以使用单个命令轻松卸载和更新软件包:
pip uninstall <PACKAGE-NAME>
和pip install --upgrade <PACKAGE-NAME>
。 相反,如果您使用setup.py
安装包,则必须手动删除和维护包,如果您想摆脱它,这可能会容易出错。 - 您不再需要手动下载文件。 如果你使用
setup.py
,你必须访问图书馆的网站,找出下载的地方,提取文件,运行setup.py
…相反,pip会自动searchPython Package Index (PyPi)来查看是否该软件包在那里存在,并会自动为您下载,解压缩和安装软件包。 除了less数几个例外,几乎每一个真正有用的Python库都可以在PyPi上find。 - 点将让你轻松安装车轮,这是Python发行版的新标准。 更多关于车轮的信息 。
- pip提供了与
virtualenv
完美集成的额外优势,这是一个让您运行多个需要在您的计算机上存在冲突的库和Python版本的项目的程序。 更多信息 。 - 从Python 2.x系列的Python 2.7.9到Python 3.x系列的Python 3.4.0到Python的默认情况下,Python都是使用Python进行捆绑的,这使得它更易于使用。
所以基本上,使用点子。 它只提供了使用python setup.py install
改进。
如果您使用的是旧版本的Python,无法升级,并且没有安装pip,您可以在以下链接中find有关安装pip的更多信息:
- 关于为所有操作系统安装pip的官方说明
- 在Windows上安装pip的指导(包括常见问题的解决scheme)
- 有关为Mac OX安装pip的说明
点子本身并不需要教程。 90%的时间,你真正需要的唯一命令是pip install <PACKAGE-NAME>
。 也就是说,如果您有兴趣了解更多关于pip详细信息,请参阅:
- 快速入门指南
- 官方文件 。
通常还build议您一起使用pip和virtualenv。 如果你是Python的初学者,我个人认为在全球范围内使用pip和安装软件包就可以了,但是最终我认为你应该转向使用virtualenv来处理更严重的项目。
如果您想了解更多有关使用pip和virtualenv的信息,请参阅:
- 为什么你应该使用pip和virtualenv
- Python初学者对Pip和Virtualenv的非神奇介绍
- 虚拟环境
python setup.py install
是make install的模拟:这是一种编译和复制文件到目标目录的有限方法。 这并不意味着这是在您的系统上真正安装软件的最佳方式。
pip
是一个软件包pipe理器,可以安装,升级,列出和卸载软件包,比如熟悉的软件包pipe理器,包括: dpkg, apt, yum, urpmi, ports
等。引擎盖下,它将运行python setup.py install
,控制最终安装的方式和位置的选项。
总结:使用pip
。