2011-07-29 77 views
22

我想在Ubuntu机器上部署一个Django站点。我需要安装Psycopg2和PIL,但似乎可以使用apt-get或pip来安装它们。这两种方法在安装方面有差异吗?我知道使用pip,我可以将它安装到虚拟环境中,但使用apt-get将其安装在全局Python环境中。使用pip与apt-get安装软件包有什么区别?

回答

18

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

画中画,你知道你在你安装它的时间获取最新的版本,可以安装到非 - 默认版本的Python,你可以安装到virtualenv。

如果您不需要pip提供的任何功能,并且您不需要安装其他通过APT不可用的Python包,则可以使用APT版本。

3

我总是推荐使用pip安装Python包,因为有些OS包管理器会执行包自定义,并且可能会中断或更改包的行为。

如果您需要在全球范围内安装一个软件包:

$ sudo pip install PACKAGE 

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

6

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

apt-get预编译,将安装多pip

要安装numpy的,matplotlib,熊猫和其它SciPy的相关的模块,apt-get只需要几秒钟; pip可以很容易地消耗10分钟+。

如果你有root权限并且不介意有点过时的版本,apt-get是快速&无忧的路要走。

+3

由于轮的到来,PIP还提供二进制软件包。 – gnebehay

+0

似乎不是所有的包都有轮子可用,至少对于我所在的系统来说。尤其是数学软件包,如numpy,熊猫,matplotlib等。 – laviex

2

你应该知道,是什么使得它在包管理器进行集成测试,而什么是PyPI将是未经测试。

Pypi可以开发。

在生产中,您可以在PyPI去,但你很快就会发现你总是可以依靠什么在包管理器...

相关问题