2015-07-24 16 views
7

Przeczytałem wiele samouczków w Internecie i odpowiedzi na temat korzystania z usługi Homebrew. Jeśli chodzi o Python, poradę pozostawia mi więcej pytań niż odpowiedzi.Dlaczego do instalacji Pythona należy używać Homebrew?

rozumiem jak, ale żadna z odpowiedzi widziałem do tej pory naprawdę wyjaśnił dlaczego za użyciem Homebrew zainstalować Python i jakie korzyści są do instalowania Python z Homebrew w przeciwieństwie do używania OS-X instalatorów dostarczonych przez Pythonie Fundacja?

Najnowsze wersje instalatorów z Python i obecna implementacja PIP wydają się działać całkiem nieźle, więc naprawdę doceniam wszelkie informacje na temat mojego pytania. Pracowałem z Pythonem przez jakiś czas, ale z bardziej taktycznej, jednorazowej perspektywy rozwiązywania problemów i jestem zupełnie nowy dla narzędzi takich jak Brew i oprogramowania kontroli wersji, takiego jak Git. Próbuję wstać z krzywej uczenia się. Znalezienie odpowiedzi na pytanie, dlaczego wybrałbym instalację z Homebrew po prostu przechodząc do strony python.org i pobieranie z nich, a następnie za pomocą pip do instalacji pakietów może mi pomóc zrozumieć zalety takiego narzędzia, jak Homebrew.

Zgaduję więc, co daje Homebrew, że przejście przez instalację wprowadzoną przez TPF nie ma miejsca?

Czy są zalety/wady gdzie Homebrew instaluje Python i Python pakiety nad /Library/Frameworks/ i folderu site-packages ramach tej współpracy?

Chociaż to ostatnie pytanie jest zbyt szerokie i prawdopodobnie poza zakresem, jeśli ktoś również podałby adres lub podałby link do dobrej odpowiedzi na temat korzyści wynikających z korzystania z Homebrew w ogóle, byłbym wdzięczny?

Dziękuję

Odpowiedz

4

Dużą zaletą korzystania z menedżera pakietów takiego jak Homebrew jest to sprawia, że ​​łatwiej utrzymać swoją instalację Pythona aktualne. Jeśli pobierzesz Python ze strony internetowej, a następnie go zaktualizujesz, będziesz musiał wrócić do strony i pobrać nową kopię Pythona (lub cokolwiek innego, co musisz zaktualizować, by mogło zostać zainstalowane z Homebrew).

Ponadto, podczas pobierania instalatorów, okazuje się, że mają tendencję do zagracania mojego folderu pobierania i wymagają okresowego czyszczenia nieużywanych plików. Wolałbym spędzać czas na kodowaniu zamiast zarządzać wykorzystaniem miejsca na dysku.

Jeśli chodzi o aktualizację dowolny pakiet z Homebrew, komenda jest prosta:

brew upgrade 

I to będzie zaktualizować wszystkie przestarzałe pakiety, które zostały zainstalowane z Brew.

To nie jest coś wyjątkowego dla Homebrew. Macport, PIP, npm, Maven i inne narzędzia do zarządzania pakietami są również w stanie zarządzać wersjami modułów lub narzędzi, które instalujesz.

Aby uzyskać więcej informacji, zobacz Safari Books Online - Keeping Your Homebrew Up To Date.

+0

Witam @ jmort253. Dziękuję za odpowiedź i link. Pracuję nad tym teraz. Widziałem, że ten sam autor napisał także [Getting Started With Homebrew] (https://www.safaribooksonline.com/blog/2014/03/03/homebrew/), więc zaczynam tam. – AMR

+0

Czy bardzo liberalną analogią byłoby, że menedżer pakietów jest dla Open Source czym jest Mac App Store dla rozproszonego oprogramowania sandbox firmy Apple? – AMR

+0

Bardzo luźna analogia, ale jest to jednak analogia. Sklep Apple zawiera głównie oprogramowanie lub narzędzia programowe. Menedżerowie pakietów mogą również zawierać oprogramowanie i narzędzia, ale niektóre zarządzają zależnościami w projekcie oprogramowania. Mam nadzieję że to pomoże! – jmort253

1

Kilka powodów, aby nie używać systemu Pythona na OS X od this post,

  • Apple nie zawsze robi dobrą robotę na utrzymanie środowiska Python wykonania aktualne,
  • to możliwe być kłopotliwym, aby grać z uprawnieniami tylko do instalowania bibliotek Pythona innych firm, w końcu Apple ma tendencję do wymazywania pakietów witryny przy każdej większej aktualizacji systemu operacyjnego.

Zastosowanie niezależnego menedżera pakietów dla modułów Pythona, takich jak Homebrew, Conda, DarwinPorts ETS. jest zatem preferowany.

+1

Witam @rth. Dziękuję za odpowiedź. Tak, rozumiem korzyści płynące z zainstalowania przez użytkownika instancji Pythona w porównaniu z wersją Apple i nie kwestionowałem tej mądrości. Rozumiem nawet, dlaczego możesz użyć dystrybucji takiej jak EPD lub Anaconda zamiast TPF. Moje pytanie jest bardziej zgodne z tym, dlaczego menedżer pakietów, a nie tylko TPM dmg i PIP. Prawdopodobnie staram się owijać głowę menedżerami pakietów jako narzędziem, ponieważ jestem względnie nowym pomysłem na rozwój open source. – AMR

+2

@ AMR Cóż, zasadniczo porównujesz jednego menedżera pakietów (pip) z innym (Homebrew). Oba mogą działać. Domyślam się, że na OS-X Homebrew jest bardziej praktyczny w obsłudze klasycznych pakietów linuksowych. Powiedzmy, że chcesz zainstalować poduszkę zależną od 'libjpeg'. Jeśli masz szczęście, OS-X będzie miał odpowiednią wersję 'libjpeg', a' pip install pillow' będzie wystarczające. Bardziej prawdopodobne jest jednak, że wyśle ​​ona nieaktualną wersję i trzeba będzie ręcznie skompilować/zainstalować odpowiednią wersję libjpeg (tylko ilustrację). Staje się to bardzo szybko żmudne, a Homebrew automatyzuje to za Ciebie. – rth

+1

OK. Więc jeśli zależności pakietu, powiedzmy poduszki, nie są pakietami powiązanymi z pypi, to pip nie zajmie się tymi zależnościami, ale może inny menedżer pakietów, jak Homebrew czy MacPorts? – AMR

Powiązane problemy