使用pip和apt-get安装软件包有什么区别?

时间:2011-07-29 14:17:14

标签: python linux ubuntu pip apt-get

我试图在Ubuntu机器上部署Django站点。我需要安装Psycopg2和PIL,但似乎我可以使用apt-get或使用pip来安装它们。这两种方法的安装有区别吗?我知道使用pip,我能够将它安装到虚拟环境中,但是apt-get它会安装在全局python环境中。

6 个答案:

答案 0 :(得分:24)

您可能已经知道apt-get的好处。自动更新通知,需要这些工具的其他apt安装包知道它们已安装等等。

使用pip,您知道在安装时获得了最新版本,您可以安装到非默认版本的Python,并且可以安装到virtualenv。

如果您不需要pip为您提供的任何功能,并且您不必经常安装其他通过APT无法使用的Python软件包,请使用APT版本。

答案 1 :(得分:9)

此问题的大多数答案都错过了使用apt-get的优势之一:

apt-get 已预编译,其安装比<{1}} 更快

要安装numpy,matplotlib,pandas和其他与scipy相关的模块,pip只需几秒钟; apt-get可以轻松消耗10分钟。

如果您具有超级用户权限,并且不介意有点过时的版本,那么pip就是快速&amp;无忧无虑的方式。

答案 2 :(得分:3)

我总是建议使用pip安装Python软件包,因为某些操作系统软件包管理器会自定义软件包,它可能会破坏或更改软件包的行为。

如果您需要全局安装软件包:

$ sudo pip install PACKAGE

它会尝试从PyPI或项目的链接下载您的软件包。

答案 3 :(得分:3)

你应该知道包管理器中的它经历了一些集成测试,而Pypi中的内容是未经测试的。

Pypi可以用于开发。

在制作中,您可以选择Pypi,但很快就会知道您可以始终依赖于包管理器中的内容......

答案 4 :(得分:0)

您应该使用哪个: apt-get和pip都是成熟的软件包管理器,它们会在安装时自动安装任何其他软件包依赖项。您可以随便使用任何人。但是,如果您需要安装特定版本的python-package或将其安装在virtualenv中,或者安装仅在PyPI上托管的软件包;只有一点可以帮助您解决该问题。否则,如果您不介意将软件包安装在系统范围内,则使用apt-get或pip都没有关系。

答案 5 :(得分:0)

我发现了一些有关此的东西。 我的ubuntu同时具有python 3.6和3.7版本。当apt安装python3-xxx时,xxx将安装在/ usr / lib / python3 / dist-packages中,而pip3将xxx安装在/usr/local/lib/python3.7(我的默认python版本)/ dist-packages中。当将python更改为版本3.6时,pip3安装的xxx无法正常工作,而apt安装的可以正常工作。