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?
Odpowiedzi:
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 prostuconda update packagename
zaktualizować.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
Python
innymi 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.
źródło
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-scipy
i gotowe! Są tam również najbardziej zaawansowane pakiety.źródło
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.
źródło
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.
źródło