Anaconda vs EPD Enthought vs installation manuelle de Python [fermé]

112

Quels sont les avantages / inconvénients relatifs de divers bundles Python (EPD / Anaconda) par rapport à une installation manuelle?

J'ai installé EPD Academic et je n'ai aucun problème avec. Il fournit plus de paquets dont je pense que j'aurai jamais besoin, et il est très facile de mettre à jour à l'aide de l'enpkg enstaller. Cependant, la licence académique EPD nécessite un renouvellement annuel et la version gratuite n'effectue pas les mises à jour aussi facilement.

Pour le moment, je n'utilise vraiment qu'une poignée de packages tels que Pandas , NumPy , SciPy , matplotlib , IPython , Statsmodels et leurs dépendances respectives.

Pour une utilisation aussi limitée, est-ce que je suis mieux avec une installation manuelle et pip install --upgrade 'package'ou est-ce que les offres groupées offrent autre chose?

John
la source
2
Regardez également Python (x, y). Il a un public cible similaire à Enthought Python, mais cela ne coûte rien. code.google.com/p/pythonxy
Eike
1
Je pense que cela dépend du système d'exploitation que vous utilisez. Qu'est-ce qui est à toi?
Andrea Zonca
5
Un avantage de l'utilisation d'Anaconda même sur Ubuntu est que vous pouvez facilement avoir une installation gérée en tant qu'utilisateur non root. Ou, vous pouvez avoir plusieurs environnements avec de nombreuses versions de n'importe quel package sur le même système en utilisant le gestionnaire de packages conda qui est au cœur de la distribution Anaconda.
Travis Oliphant
5
Aussi FYI, Anaconda est entièrement gratuit pour tous, académiques et commerciaux. Il existe des licences gratuites disponibles pour les universitaires des modules complémentaires de Continuum qui sont une chose distincte d'Anaconda lui-même.
Travis Oliphant
1
Voici quelques "faits": J'ai testé quelques calculs matriciels simples (produits matriciels matriciels, inversions) en utilisant numpy dans anaconda vs vanilla python 2.7. L'interpréteur vanilla n'utilise qu'un seul thread de mon ordinateur portable, qui a 4 cœurs et 8 threads, tandis qu'anaconda utilise les 8 threads. La vitesse est donc environ 7 fois plus rapide en anaconda.
Jason le

Réponses:

48

Mise à jour 2015 : De nos jours, je recommande toujours Anaconda. Il comprend de nombreux packages Python pour le calcul scientifique, la science des données, le développement Web, etc. Il fournit également un outil d'environnement supérieur conda, qui permet de basculer facilement entre les environnements, même entre Python 2 et 3. Il est également mis à jour très rapidement dès lorsqu'une nouvelle version d'un package est publiée, vous pouvez simplement le conda update packagenamemettre à jour.

Réponse originale ci - dessous :

Sous Windows, ce qui est compliqué, c'est de compiler les packages mathématiques, donc je pense qu'une installation manuelle n'est une option viable que si cela vous intéresse uniquement Python, sans autres packages.

Par conséquent, mieux vaut choisir EPD (maintenant Canopy) ou Anaconda.

Anaconda a environ 270 packages, y compris les plus importants pour la plupart des applications scientifiques et l'analyse de données, à savoir NumPy , SciPy , Pandas , IPython , matplotlib , Scikit-learn . Donc, si cela vous suffit, je choisirais Anaconda.

Au lieu de cela, si vous êtes intéressé par d'autres packages, et encore plus si vous utilisez l'un des packages Enthought ( Chaco par exemple est très utile pour la visualisation de données en temps réel), alors EPD / Canopy est probablement un meilleur choix. La version académique a un plus grand nombre de packages dans l'installation de base et beaucoup plus dans le référentiel. Anaconda comprend également Chaco.

Andrea Zonca
la source
1
Je regarde moi-même cette même question maintenant. Vous dites que Canopy inclut plus de packages, cela signifie-t-il qu'il n'est pas possible d'installer ces autres packages dans anaconda? Il semble idiot de me limiter à ne pas savoir si dans 2 ans j'ai besoin d'un certain forfait.
Dominik
3
j'espère que dans 2 ans, vous mettrez à jour vos installations OS ou python ... de toute façon oui, vous pouvez installer tous les packages python supplémentaires dans la distribution python de votre choix. Pour les packages uniquement python, c'est très simple. Pour les packages qui intègrent des extensions C ou C ++ (généralement des packages scientifiques), c'est plus difficile, spécialement sous Windows, donc mieux vaut réfléchir à l'avance.
Andrea Zonca
13
FWIW, Anaconda inclut également Chaco et comprend bien plus que seulement 20 packages: docs.continuum.io/anaconda/pkgs.html (encore plus sont disponibles dans le repo et non fournis avec le programme d'installation.)
Peter Wang
3
Aussi FWIW, Anaconda a maintenant de belles informations conda-meta / pkg * sur tous les 100 paquets impairs: requires, version ... ( conda-requires résume toutes les exigences .)
denis
3
J'ai essayé de configurer Python pour l'exploration de données sur mon Mac. Je n'ai toujours pas réussi à résoudre ce problème, mais la partie la plus décevante jusqu'à présent a été d'installer Enthought Canopy Express, puis d'apprendre qu'ils facturent 199 $ pour l'accès à scikit-learn et nltk.
rrs
11

J'ai essayé diverses distributions Windows au cours de l'année dernière, en essayant d'en trouver une compatible avec mon environnement de travail (derrière un proxy, mais sans accès à la configuration du proxy).

Voici mes retours d'expérience:

EPD / Canopy: Nous avions une licence EPD, mais elle était ancienne et nous n'avons pas pu mettre à jour en raison de la situation étrange du proxy. Afin d'ajouter des packages (comme la version récente de xlrd / xlwt ), j'ai compilé à partir des sources. Pour mettre à jour SciPy et NumPy , j'ai utilisé le programme d'installation précompilé de http://www.lfd.uci.edu/~gohlke/pythonlibs/ , mais cela gâcherait parfois la compatibilité. J'ai adoré avoir un Py2exe et un Cython entièrement configurés , et cela a tout simplement fonctionné hors de la boîte.

Après un certain temps, j'ai essayé d'installer la version gratuite de Canopy, mais il lui manque Cython et py2exe et certains packages avancés spécifiques dont j'avais besoin, donc je ne l'ai jamais vraiment utilisé. Certains de mes collègues ont acheté la licence Canopy complète, mais nous ne savons toujours pas comment ils vont mettre à jour ...

Python (x, y): Ne voulant pas lutter avec les licences, j'ai installé Python (x, y) chez moi. Le seul inconvénient que j'ai remarqué en ce moment est que l'installation standard vous oblige à sélectionner les packages que vous souhaitez. C'est à la fois un bon et un mauvais point, car je ne peux pas être sûr que mes clients auront exactement la même configuration que moi lors de l'installation. (La suite d'outils Enthought peut être installée en Python (x, y).) Après avoir utilisé Python (x, y) pendant un certain temps, je viens de remarquer que j'ai installé la version 32 bits. Bien que ce ne soit pas clair sur leur site Web, il semble qu'ils n'aient pas de version 64 bits en juillet 2015. Je vais le désinstaller et obtenir une distribution 64 bits.

Anaconda: Quand j'ai écrit ceci pour la première fois, Anaconda ne semblait pas encore avoir assez de paquets. Quelques années plus tard, ça semble beaucoup mieux, je vais essayer!

Manuel: Afin d'éviter les problèmes de compatibilité de version avec notre ancienne version EPD, j'ai fini par utiliser l'installation manuelle de Python et ajouter des packages supplémentaires à partir du site Web LFD lié ci-dessus. Cela fonctionne très bien, mais je suggérerais quand même Canopy à un nouvel utilisateur qui a besoin de packages avancés (comme GDAL ou PyFITS ).

Résumé: Si vous optez pour Canopy, obtenez la licence complète (académique ou achetée). Sinon, allez avec Python (x, y), ça finira par être le même.

Sur Ubuntu: pas besoin de distribution. Tout est relativement récent (+/- 6 mois est tolérable) et pré-compilé. Il vous suffit d'exécuter sudo apt-get install python python-scipyet c'est là! La plupart des packages avancés sont également disponibles.

PhilMacKay
la source
Hé Rafael, tu as regardé Anaconda dernièrement? Cela a parcouru un long chemin.
Peter Wang
téléchargement pythonxy - ce n'est pas à l'adresse attendue qui est juste un domaine parqué pour le moment.
pbhj
Utiliser le référentiel ubuntu python / scipy etc ... (installé avec apt) est bien, mais il y a toujours quelques versions derrière, ce qui peut être pénible car il manque des correctifs de bogues et de nouvelles fonctionnalités pratiques. J'ai généralement préféré installer avec pip et obtenir les dernières versions stables.
drevicko
4

Les autres réponses couvrent assez bien le terrain, donc je veux juste faire une remarque sur un aspect particulier que personne n'a encore mentionné. C'est probablement assez de niche, mais cela peut potentiellement faire ou défaire Anaconda ou Canopy pour certaines personnes sous les systèmes Linux:

Les versions d'Anaconda Python utilisent le mode Unicode UCS4, tandis que Enthought Canopy utilise UCS2.

Ce que cela signifie en termes pratiques, c'est que si vous comptez sur des extensions que vous ne pouvez pas compiler vous-même pour une raison quelconque (par exemple des bibliothèques propriétaires précompilées), si elles ne sont pas construites pour une version Python avec le même mode, vous pouvez plus tôt ou plus tard, rencontrez des erreurs qui ressemblent à quelque chose comme undefined symbol: PyUnicodeUCS4_AsUTF8String.

Selon PEP 0513 , UCS4 semble actuellement être plus populaire et recommandé. En outre, l'ensemble des problèmes de compatibilité UCS semblent n'affecter que les versions 2.x et <3.3.

Dologan
la source
C'est en fait une chose utile à savoir. Merci!
pysolver
-4

J'ai utilisé Anaconda pendant des années et je l'ai beaucoup aimé. Malheureusement, IPython Notebook (maintenant Jupyter ) n'est pas disponible sans l'édition entreprise.

Je souhaite utiliser les blocs-notes Jupyter en classe, je suis donc passé à Canopy. Il semble assez facile d'installer tous les packages dont nous avons besoin. Certes, nous ne les avons pas tous testés.

JLeC
la source
1
Au moins, mon Jupyter Notebook fonctionne toujours avec la version Standard (gratuite) d'Anaconda. Pourriez-vous préciser d'où vous avez obtenu cette information? Au moins sur la page d'accueil officielle d'Anaconda, Jupyter est toujours répertorié.
MSeifert
2
C'est factuellement faux. Jupyter / IPython a toujours été disponible dans Anaconda gratuit. FWIW, Continuum Analytics (le fabricant d'Anaconda) emploie plusieurs développeurs principaux de Jupyter.
Peter Wang
Veuillez corriger votre réponse erronée. Le site Web ipython vous indique même comment installer à l'aide d'Anaconda: ipython.org/install.html
Bradley Kreider