web-dev-qa-db-ger.com

Gibt es einen Unterschied zwischen "Brühinstallation" und "Pip-Installation"?

Ich möchte Kissen auf meinem Mac installieren. Ich habe Python 2.7 und Python 3.4, beide zusammen mit Homebrew installiert. Ich habe versucht brew install pillow und es hat gut funktioniert, aber nur für Python 2.7. Ich habe keine Möglichkeit gefunden, es für Python 3 zu installieren. Ich habe brew install pillow3 versucht, aber kein Glück. Ich habe einen Post auf SO gefunden, der besagt, dass zuerst pip3 mit Homebrew installiert und dann pip3 install pillow verwendet werden soll. Zufällig habe ich pip3 bereits installiert.

Ich habe den Unterschied zwischen der Installation eines Python-Pakets mit pip und der Installation mit Homebrew noch nie verstanden. Kannst du mir das erklären? Ist die Installation zusammen mit Homebrew vorzuziehen, wenn eine Formel verfügbar ist? Wenn die Installation mit Homebrew tatsächlich vorzuziehen ist, wissen Sie, wie das Kissen für Python 3 mit Homebrew installiert wird?

Die ersten Antworten zeigen an, dass ich mich nicht klargestellt habe. Wenn ich Kissen mit pip install pillow anstelle von brew install pillow installiert hätte, wäre die Installation auf meinem System anders? Warum sollte Homebrew eine Formel erstellen, die etwas tut, was pip bereits tut? Würde es nach zusätzlichen Voraussetzungen oder etwas suchen? Warum gibt es eine Formel für Kissen mit Python2, aber nicht so weit ich mit Pilly mit Python3 sagen kann? 

23
saulspatz

nun, Pakete für OSX können Pakete für Python enthalten.

pip ist ein Packager für die Python-Welt - Sie sollten nur Python-Dinge damit installieren können; homebrew ist ein Paketmanager für OSX. Es gibt keine Einschränkungen für die zu installierende Software - da python eine Untermenge von software ist.

wenn Sie Dinge mit brew installieren, werden diese in /usr/local/ installiert.

durch das Installieren von Dingen mit pip werden Pakete aus dem Python Package Index abgerufen, und sie werden an einem Ort installiert, an dem sie von Ihrem Python-Interpreter gefunden werden: entweder in Ihrem Home-Verzeichnis (z. B. ~/.local/lib/python2.7/site-packages/) oder in einem globalen Suchpfad von Ihr Python-Interpreter (zB /usr/local/lib/python2.7/dist-packages/)

wenn Sie den python-Interpreter über brew installiert haben, ist die Wahrscheinlichkeit groß, dass jedes über brew installierte Python-Paket sofort verwendet werden kann.

26
umläute

Homebrew ist ein Paketmanager, ähnlich wie apt auf ubuntu oder yum in einigen anderen Linux-Distributionen. Pip ist auch ein Paketmanager, ist jedoch spezifisch für Python-Pakete. Homebrew kann verwendet werden, um eine Vielzahl von Dingen zu installieren, wie Datenbanken wie MySQL und Mongodb oder Webserver wie Apache oder Nginx.

4
wpercy

Ich bin auch etwas verwirrt über die Unterschiede zwischen pip installierten und brauinstallierten Python-Paketen. Meines Wissens ist es so, dass das pip-installierte Paket nicht für Ihr spezifisches System kompiliert wird. Es holt das Paket aus dem Python Package Index und kompiliert es auf Ihrem Computer. Das über Homebrew installierte Python-Paket ist bereits für Ihr spezifisches System (Macos) erstellt und kompiliert. Sie sollten beide arbeiten. Ich bin mir jedoch nicht sicher, ob Pakete, die auf zwei Arten installiert werden, am selben Ort abgelegt werden. Für Ihre Fragen zur Installation von Kissen über Homebrew sollten Sie brew tap homebrew/python bereits erledigt haben, denn so können Sie Python-Pakete von Homebrew aus installieren. Auf dieser github-Seite behaupten sie das 

Formeln werden standardmäßig mit Python 2-Unterstützung installiert. Für die gleichzeitige Unterstützung von Python 3 verwenden Sie brew install --with-python3. Wenn Sie keine Python 2.x-Unterstützung benötigen, können Sie --with-python3 --without-python übergeben.

Also versuche 

brew install pillow --with-python3

oder 

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

wenn Sie nur Kissen für Python3 installieren möchten. Möglicherweise müssen Sie zuerst brew uninstall pillow ausführen, wenn Homebrew Sie darauf hinweist, dass das Kissen bereits installiert ist.

0
Longwen Ou