" brew install"之间有区别吗?和" pip install"?

时间:2015-09-11 19:06:03

标签: python macos pip homebrew

我想在我的Mac上安装枕头。我有python 2.7和python 3.4,都安装了Homebrew。我试过brew install pillow并且它工作正常,但仅适用于python 2.7。我还没能找到为python 3安装它的方法。我试过brew install pillow3但没有运气。我在SO上发现了一条帖子,说首先用Homebrew安装pip3,然后使用pip3 install pillow。碰巧,我已经安装了pip3。

我从来没有理解安装带有pip的python包和用Homebrew安装它之间的区别,如果有的话。你能解释一下吗?另外,如果公式可用,是否最好安装Homebrew?如果用Homebrew安装确实更好,你知道如何用Homebrew安装python 3的枕头吗?

第一个答案表明我并没有让自己明白。如果我使用pip install pillow而不是brew install pillow安装了枕头,我的系统上的安装会有什么不同吗?为什么Homebrew会制作一个能够完成pip的公式呢?它会检查额外的先决条件或什么?为什么有一个用python2的枕头配方,但是我用python3告诉你的枕头?

3 个答案:

答案 0 :(得分:29)

好吧,OSX的软件包可能包含python软件包。

pip是python世界的打包者 - 你应该只能用它来安装python-things; homebrew是针对OSX的软件包管理器;它不会对您可以安装的软件施加任何限制 - 因为 python 软件的子集。

使用brew安装内容会将其安装到/usr/local/;

使用pip安装内容将从Python Package Index获取包,并将它们安装在python解释器将找到它们的位置:或者进入您的主目录(例如~/.local/lib/python2.7/site-packages/ )或在python解释器的某个全局搜索路径中(例如/usr/local/lib/python2.7/dist-packages/

如果您通过python安装了brew解释器,那么通过brew安装的任何python-package都可以开箱即用。

答案 1 :(得分:4)

Homebrew是一个包管理器,类似于ubuntu上的apt或其他一些Linux发行版上的yum。 Pip也是一个包管理器,但是特定于python包。 Homebrew可用于安装各种东西,如MySQL和mongodb等数据库或apache或nginx等web服务器。

答案 2 :(得分:0)

我也对pip-installed和brew-installed python包之间的差异感到困惑。我的理解是pip安装的软件包不是为您的特定系统编译的。它从Python Package Index获取包,然后在您的计算机中编译并构建它。通过自制软件安装的Python软件包已经为您的特定系统(Macos)构建和编译。他们都应该工作。但我不确定从这两种方式安装的软件包是否会放在同一个位置。关于通过自制软件安装枕头的问题,我相信你应该已经完成​​了brew tap homebrew/python,因为这就是你如何从自制软件包安装python软件包。在此github page,他们声称

  

Formulæ默认安装Python 2支持。要同时支持Python 3,请使用brew install --with-python3。如果你根本不需要Python 2.x支持,你可以传递--with-python3 --without-python。

所以试试

brew install pillow --with-python3

brew install pillow --with-python3 --without-python

如果您只想为python3安装枕头。如果自制软件警告您枕头已经安装,您可能需要先brew uninstall pillow