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?
Réponses:
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 leconda update packagename
mettre à 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.
la source
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-scipy
et c'est là! La plupart des packages avancés sont également disponibles.la source
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.
la source
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.
la source