Anaconda vs. EPD Enthought vs. ręczna instalacja Pythona [zamknięte]

112

Jakie są względne zalety / wady różnych pakietów Pythona (EPD / Anaconda) w porównaniu z instalacją ręczną?

Zainstalowałem EPD Academic i nie mam z tym żadnych problemów. Zapewnia więcej pakietów, których myślę, że będę kiedykolwiek potrzebować, i bardzo łatwo jest je zaktualizować za pomocą enpkg enstaller. Licencja akademicka EPD wymaga jednak corocznego odnawiania, a bezpłatna wersja nie zapewnia tak łatwych aktualizacji.

W tej chwili naprawdę używam tylko kilku pakietów, takich jak Pandas , NumPy , SciPy , matplotlib , IPython , Statsmodels i ich zależności.

Czy przy tak ograniczonym użytkowaniu lepiej będzie przy ręcznej instalacji i pip install --upgrade 'package'czy pakiety oferują coś ponad to?

Jan
źródło
2
Spójrz także na Python (x, y). Ma podobną grupę docelową jak Enthought Python, ale nic nie kosztuje. code.google.com/p/pythonxy
Eike
1
Myślę, że to zależy od używanego systemu operacyjnego. Co jest twoje?
Andrea Zonca
5
Jedną z zalet używania Anacondy nawet w Ubuntu jest to, że możesz łatwo mieć zarządzaną instalację jako użytkownik inny niż root. Lub możesz mieć wiele środowisk z wieloma wersjami dowolnego pakietu w tym samym systemie, używając menedżera pakietów Conda, który jest sercem dystrybucji Anaconda.
Travis Oliphant
5
Również FYI, Anaconda jest całkowicie darmowa dla wszystkich, zarówno akademickich, jak i komercyjnych. Istnieją darmowe licencje dostępne dla naukowców na dodatki Continuum, które są oddzielne od samej Anacondy.
Travis Oliphant
1
Oto kilka "faktów": Przetestowałem kilka prostych obliczeń macierzowych (iloczyn skalarny macierzy, inwersje) przy użyciu numpy w anakondzie i waniliowym pytonie 2.7. Tłumacz waniliowy wykorzystuje tylko 1 wątek mojego laptopa, który ma 4 rdzenie i 8 wątków, podczas gdy anaconda używa wszystkich 8 wątków. Więc prędkość jest około 7 razy większa w anakondzie.
Jason

Odpowiedzi:

48

Aktualizacja 2015 : Obecnie zawsze polecam Anacondę. Zawiera wiele pakietów Pythona do obliczeń naukowych, nauki o danych, tworzenia stron internetowych itp. Zapewnia również doskonałe narzędzie środowiskowe conda, które pozwala łatwo przełączać się między środowiskami, nawet między Pythonem 2 i 3. Jest również bardzo szybko aktualizowane. gdy zostanie wydana nowa wersja pakietu i możesz ją po prostu conda update packagenamezaktualizować.

Oryginalna odpowiedź poniżej :

W systemie Windows skomplikowana jest kompilacja pakietów matematycznych, więc myślę, że ręczna instalacja jest realną opcją tylko wtedy, gdy jesteś zainteresowany tylko Pythoninnymi pakietami.

Dlatego lepiej wybrać EPD (obecnie Canopy) lub Anaconda.

Anaconda ma około 270 pakietów, w tym najważniejsze dla większości aplikacji naukowych i analizy danych, czyli NumPy , SciPy , Pandas , IPython , matplotlib , Scikit-learn . Więc jeśli to ci wystarczy, wybrałbym Anacondę.

Zamiast tego, jeśli jesteś zainteresowany innymi pakietami, a nawet bardziej, jeśli używasz któregokolwiek z pakietów Enthought ( na przykład Chaco jest bardzo przydatne do wizualizacji danych w czasie rzeczywistym), to EPD / Canopy jest prawdopodobnie lepszym wyborem. Wersja Academic ma większą liczbę pakietów w instalacji podstawowej i znacznie więcej w repozytorium. Anaconda obejmuje również Chaco.

Andrea Zonca
źródło
1
Sam teraz patrzę na to samo pytanie. Stwierdzasz, że Canopy zawiera więcej pakietów, czy to oznacza, że ​​nie jest możliwe zainstalowanie tych innych pakietów w programie anaconda? Wydaje się głupie, że ograniczam się, nie wiedząc, czy za 2 lata potrzebuję określonego pakietu.
Dominik
3
miejmy nadzieję, że za 2 lata zaktualizujesz swój system operacyjny lub instalacje Pythona ... tak, tak, możesz zainstalować każdy dodatkowy pakiet Pythona w dowolnej wybranej dystrybucji Pythona. W przypadku pakietów wyłącznie dla języka Python jest to bardzo proste. W przypadku pakietów, które zawierają rozszerzenia C lub C ++ (zwykle pakiety naukowe) jest to trudniejsze, szczególnie w przypadku okien, więc lepiej pomyśl z wyprzedzeniem.
Andrea Zonca
13
FWIW, Anaconda zawiera również Chaco i zawiera znacznie więcej niż tylko 20 pakietów: docs.continuum.io/anaconda/pkgs.html (Jeszcze więcej jest dostępnych w repozytorium i nie jest dołączane do instalatora).
Peter Wang
3
Również FWIW, Anaconda ma teraz ładne informacje o conda-meta / pkg * o wszystkich 100-nieparzystych pakietach: wymagania, wersja ... ( conda-require podsumowuje wszystkie wymagania.)
denis
3
Próbowałem skonfigurować Pythona do eksploracji danych na moim Macu. Nadal nie złamałem tego orzecha, ale jak dotąd najbardziej rozczarowujące było zainstalowanie Enthought Canopy Express, a następnie dowiedziałem się, że pobierają 199 USD za dostęp do scikit-learn i nltk.
rrs
11

W zeszłym roku wypróbowałem różne dystrybucje systemu Windows, próbując znaleźć jeden odpowiedni dla mojego środowiska pracy (za proxy, ale bez dostępu do konfiguracji proxy).

Oto moja opinia z doświadczenia:

EPD / Canopy: Mieliśmy licencję EPD, ale była stara i nie mogliśmy zaktualizować z powodu dziwnej sytuacji proxy. Aby dodać jakieś pakiety (takie jak ostatnia wersja xlrd / xlwt ), skompilowałem ze źródeł. Aby zaktualizować SciPy i NumPy , użyłem prekompilowanego instalatora z http://www.lfd.uci.edu/~gohlke/pythonlibs/ , ale czasami zepsuło to kompatybilność. Uwielbiałem mieć w pełni skonfigurowany Py2exe i Cython i po prostu działał po wyjęciu z pudełka.

Po pewnym czasie próbowałem zainstalować darmową wersję Canopy, ale brakuje w niej Cythona i py2exe, a także niektórych zaawansowanych pakietów, których potrzebowałem, więc tak naprawdę nigdy z niej nie korzystałem. Niektórzy z moich kolegów kupili pełną licencję Canopy, ale nadal nie jesteśmy pewni, w jaki sposób zamierzają zaktualizować ...

Python (x, y): Nie chcąc zmagać się z licencjami, zainstalowałem Pythona (x, y) w domu. Jedyną wadą, jaką zauważyłem w tej chwili, jest to, że standardowa instalacja wymaga wybrania żądanych pakietów. Jest to zarówno dobry, jak i zły punkt, ponieważ nie mam pewności, czy moi klienci będą mieli dokładnie taką samą konfigurację, jak podczas instalacji. (Zestaw narzędzi Enthought można zainstalować w Pythonie (x, y).) Po pewnym czasie używania Pythona (x, y) zauważyłem, że zainstalowałem wersję 32-bitową. Chociaż nie jest to jasne na ich stronie internetowej, wygląda na to, że nie mają wersji 64-bitowej od lipca 2015. Zamierzam ją odinstalować i uzyskać dystrybucję 64-bitową.

Anaconda: Kiedy pierwszy raz to napisałem, Anaconda nie miała jeszcze wystarczającej liczby pakietów. Kilka lat później wydaje się, że jest znacznie lepiej, spróbuję!

Podręcznik: Aby uniknąć problemów ze zgodnością wersji z naszą starą wersją EPD, skorzystałem z ręcznej instalacji Pythona i dodałem dodatkowe pakiety z witryny LFD, do której link powyżej. Działa świetnie, ale nadal sugerowałbym Canopy nowemu użytkownikowi, który potrzebuje zaawansowanych pakietów (takich jak GDAL lub PyFITS ).

Podsumowanie: Jeśli zdecydujesz się na Canopy, zdobądź pełną licencję (akademicką lub kupioną). W przeciwnym razie przejdź do Pythona (x, y), skończy się to tym samym.

W systemie Ubuntu: nie ma potrzeby dystrybucji. Wszystko jest stosunkowo nowe (tolerancja +/- 6 miesięcy) i wstępnie skompilowane. Musisz tylko wykonać sudo apt-get install python python-scipyi gotowe! Są tam również najbardziej zaawansowane pakiety.

PhilMacKay
źródło
Hej Rafael, czy patrzyłeś ostatnio na Anacondę? To przeszło długą drogę.
Peter Wang
pobieranie pythonxy - nie znajduje się pod spodziewanym adresem, który obecnie jest tylko zaparkowaną domeną.
pbhj
Korzystanie z repozytorium Ubuntu python / scipy itp. (Instalowane z apt) jest w porządku, ale zawsze jest kilka wersji w tyle, co może być uciążliwe, ponieważ pomija poprawki błędów i przydatne nowe funkcje. Zwykle wolałem zainstalować za pomocą pip i uzyskać najnowsze stabilne wersje.
drevicko
4

Pozostałe odpowiedzi całkiem ładnie obejmują grunt, więc chcę tylko zwrócić uwagę na jeden konkretny aspekt, o którym nikt jeszcze nie wspomniał. Prawdopodobnie jest to dość niszowe, ale może potencjalnie spowodować lub zepsuć Anacondę lub Canopy dla niektórych osób w systemach Linux:

Kompilacje Anaconda Python używają trybu UCS4 Unicode, podczas gdy Enthought Canopy używa UCS2.

W praktyce oznacza to, że jeśli polegasz na jakichkolwiek rozszerzeniach, których nie możesz samodzielnie skompilować z jakiegokolwiek powodu (np. Wstępnie skompilowane biblioteki własnościowe), jeśli zdarzy się, że nie zostaną zbudowane dla wersji Pythona z tym samym trybem, możesz wcześniej lub później napotkasz błędy, które wyglądają jak undefined symbol: PyUnicodeUCS4_AsUTF8String.

Według PEP 0513 , UCS4 wydaje się być obecnie bardziej popularny i polecany. Ponadto, wszystkie problemy ze zgodnością UCS wydają się mieć wpływ tylko na wersje 2.xi <3.3.

Dologan
źródło
Właściwie warto wiedzieć. Dzięki!
pysolver
-4

Używałem Anacondy od lat i bardzo mi się podobała. Niestety, Notatnik IPython (obecnie Jupyter ) nie jest dostępny bez wersji Enterprise.

Chcę używać notesów Jupyter w klasie, więc przerzuciłem się na Canopy. Wydaje się, że instalacja wszystkich potrzebnych pakietów jest dość łatwa. Trzeba przyznać, że nie przetestowaliśmy ich wszystkich.

JLeC
źródło
1
Przynajmniej mój Jupyter Notebook nadal działa ze standardową (bezpłatną) wersją Anacondy. Czy mógłbyś wyjaśnić, skąd masz te informacje? Przynajmniej na oficjalnej stronie głównej Anacondy Jupyter nadal jest wymieniony.
MSeifert
2
To jest nieprawdziwe. Jupyter / IPython zawsze był dostępny w darmowej Anaconda. FWIW, Continuum Analytics (producent Anaconda) zatrudnia kilku głównych programistów Jupyter.
Peter Wang
Popraw swoją błędną odpowiedź. Witryna ipython mówi nawet, jak zainstalować za pomocą Anaconda: ipython.org/install.html
Bradley Kreider