Pytanie Czy istnieje różnica między "naparowywaniem instalacji" a "instalacją pip"?


Chcę zainstalować poduszkę na moim Macu. Mam python 2.7 i python 3.4, oba zainstalowane z Homebrew. próbowałem brew install pillow i działało dobrze, ale tylko dla Pythona 2.7. Nie byłem w stanie znaleźć sposobu na zainstalowanie go dla Pythona 3. Próbowałem brew install pillow3 ale bez powodzenia. Znalazłem post na SO, który mówi, aby najpierw zainstalować pip3 z Homebrew, a następnie użyć pip3 install pillow. Tak się składa, że ​​już zainstalowałem pip3.

Nigdy nie zrozumiałem różnicy, jeśli w ogóle, między instalowaniem pakietu Pythona z PIP i instalowaniem go z Homebrew. Czy możesz mi to wyjaśnić? Czy preferuje się instalację z Homebrew, jeśli formuła jest dostępna? Jeśli instalacja z Homebrew jest rzeczywiście lepsza, czy wiesz, jak zainstalować poduszkę dla Pythona 3 z Homebrew?

Pierwsze odpowiedzi wskazują, że nie zrozumiałem siebie. Gdybym zainstalował poduszkę pip install pillow zamiast brew install pillow czy instalacja w moim systemie byłaby inna? Dlaczego Homebrew ma formułę, która robi coś, co już robi? Czy sprawdziłby dodatkowe wymagania wstępne czy coś takiego? Dlaczego istnieje wzór na poduszkę z python2, ale nie na tyle, na ile mogę powiedzieć o pillwo z python3?


18
2017-09-11 19:06


pochodzenie


brew instaluje pakiety dla OSX, pip instaluje pakiety dla Pyton. - tzaman
spróbuj podać polecenie aktualizacji - Catmandu
@tzaman Dzięki, ale dlaczego tak brew install pillow praca? Czuję się pewien, że mam zainstalowane inne pakiety Pythona z napar, również. (Oczywiście, mogę być halucynacją.) - saulspatz
@Catmandu Dzięki, ale to nie zadziałało. - saulspatz
Oto dokument opisujący sugerowany związek między naparami i pip: docs.brew.sh/Homebrew-and-Python.html - kmace


Odpowiedzi:


cóż, pakiety dla OSX mogą zawierać pakiety dla Pythona.

pip jest pakowaczem dla świata Pythona - powinieneś być w stanie instalować z nim tylko Pythona; homebrew jest menedżerem pakietów ukierunkowanym na OSX; nie nakłada żadnych ograniczeń na to, jakie oprogramowanie można z nim zainstalować - od tego czasu pyton jest podzbiorem oprogramowanie.

instalowanie rzeczy za pomocą brew zainstaluje je w /usr/local/;

instalowanie rzeczy za pomocą pip pobierze pakiety z Indeks paczek Pythonai zainstaluje je w miejscu, w którym znajduje je Twój interpreter python: w katalogu domowym (np. ~/.local/lib/python2.7/site-packages/) lub w jakiejś globalnej ścieżce wyszukiwania twojego interpretera pythonowego (np. /usr/local/lib/python2.7/dist-packages/)

jeśli zainstalowałeś python tłumacz przez brew, wtedy szanse są wysokie, że każdy pakiet python-instalowany przez brew będzie użyteczny po wyjęciu z pudełka.


21
2017-09-11 19:29



To wygląda jak pip install pillow umieść go w /Library/Python/2.7/site-packages/PIL, który uważam za preinstalowany python na Macu, ale pip3 install pillow umieść go w /usr/local/lib/python3.4/site-packages/PIL. - saulspatz
@saulspatz Najnowsze Python z Homebrew, pip install pillow powinien zainstalować go $(brew --prefix)/lib/python2.7/site-packages zamiast w Apple Python. Widzieć brew info python. - Franklin Yu


Homebrew jest menedżerem pakietów, podobnym do apt na ubuntu lub yum w niektórych innych dystrybucjach Linuksa. Pip jest także menedżerem pakietów, ale jest specyficzny dla pakietów Pythona. Homebrew może być używany do instalowania różnych rzeczy, takich jak bazy danych, takie jak MySQL i mongodb lub serwery internetowe, takie jak apache lub nginx.


3
2017-09-11 19:13



Dzięki. Chciałem zapytać, czy mogę zainstalować pakiet z którymkolwiek z nich brew install pillow lub pip install pillow czy wyniki końcowe są inne? Jeśli tak, to czy jest lepszy od drugiego? Spróbuję edytować moje pytanie, aby moje znaczenie było bardziej zrozumiałe. - saulspatz
pip install pillow powinien umieścić pakiet w swojej PYTHONPATH, a jeśli go zainstalujesz brew, chyba że dodałeś odpowiednie katalogi do swojej PYTHONPATH, python nie będzie mógł zaimportować niczego z niego. Jeśli instalujesz moduł Pythona, zdecydowanie użyj pip. - wpercy
Właśnie to muszę wiedzieć. Dzięki. - saulspatz


Jestem także trochę zmieszany z powodu różnic między pakietami Pythona zainstalowanymi w porównaniu do zainstalowanych w zaparzaczach. Rozumiem, że pakiet instalowany na pip nie jest skompilowany dla konkretnego systemu. To pobiera pakiet z Indeks paczek Pythona następnie skompiluj i skompiluj go na swoim komputerze. Pakiet Python instalowany przez homebrew jest już zbudowany i skompilowany dla konkretnego systemu (Maca). Powinny one oboje pracować. Ale nie jestem pewien, czy pakiety zainstalowane z dwóch sposobów zostaną umieszczone w tej samej lokalizacji. W przypadku pytań dotyczących instalacji poduszek przez homebrew uważam, że powinieneś już to zrobić brew tap homebrew/python, ponieważ w ten sposób można instalować pakiety Pythona z homebrew. Na to strona github twierdzą, że

Formulæ są domyślnie instalowane z obsługą Pythona 2. W celu jednoczesnej obsługi Pythona 3 użyj brew install --with-python3. Jeśli w ogóle nie potrzebujesz obsługi Pythona 2.x, możesz przekazać --with-python3 - bez-python.

Więc spróbuj

brew install pillow --with-python3

lub

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

jeśli chcesz tylko zainstalować poduszkę na python3. Być może będziesz musiał to zrobić brew uninstall pillow po pierwsze, jeśli homebrew ostrzega, że ​​poduszka jest już zainstalowana.


0
2017-12-01 22:26