¿Cuáles son las ventajas y desventajas relativas de varios paquetes de Python (EPD / Anaconda) frente a una instalación manual?
He instalado EPD Academic y no tengo problemas con él. Proporciona más paquetes que creo que necesitaré alguna vez, y es muy fácil de actualizar usando enpkg enstaller. Sin embargo, la licencia académica EPD requiere una renovación anual y la versión gratuita no se actualiza tan fácilmente.
Por el momento, solo uso un puñado de paquetes como Pandas , NumPy , SciPy , matplotlib , IPython , Statsmodels y sus respectivas dependencias.
Para un uso tan limitado, ¿estoy mejor con la instalación manual pip install --upgrade 'package'
o los paquetes ofrecen algo más que esto?
python
epd-python
anaconda
Juan
fuente
fuente
Respuestas:
Actualización 2015 : Hoy en día siempre recomiendo Anaconda. Incluye muchos paquetes de Python para computación científica, ciencia de datos, desarrollo web, etc. También proporciona una herramienta de entorno superior
conda
, que permite cambiar fácilmente entre entornos, incluso entre Python 2 y 3. También se actualiza muy rápidamente tan pronto a medida que se lanza una nueva versión de un paquete, y puede hacerloconda update packagename
para actualizarlo.Respuesta original a continuación :
En Windows, lo complicado es compilar los paquetes matemáticos, por lo que creo que una instalación manual es una opción viable solo si solo te interesa
Python
, sin otros paquetes.Por lo tanto, mejor elija EPD (ahora Canopy) o Anaconda.
Anaconda tiene alrededor de 270 paquetes, incluidos los más importantes para la mayoría de aplicaciones científicas y análisis de datos, es decir, NumPy , SciPy , Pandas , IPython , matplotlib , Scikit -learn . Entonces, si esto es suficiente para ti, elegiría Anaconda.
En cambio, si está interesado en otros paquetes, e incluso más si usa alguno de los paquetes Enthought ( Chaco, por ejemplo, es muy útil para la visualización de datos en tiempo real), entonces EPD / Canopy es probablemente una mejor opción. La versión Academic tiene una mayor cantidad de paquetes en la instalación básica y muchos más en el repositorio. Anaconda también incluye Chaco.
fuente
Probé varias distribuciones de Windows en el último año, tratando de encontrar una adecuada para mi entorno de trabajo (detrás de un proxy, pero sin acceso a la configuración del proxy).
Aquí están mis comentarios de la experiencia:
EPD / Canopy: Teníamos una licencia de EPD, pero era antigua y no pudimos actualizar debido a la extraña situación del proxy. Para agregar algunos paquetes (como la versión reciente de xlrd / xlwt ), compilé desde la fuente. Para actualizar SciPy y NumPy , utilicé el instalador precompilado de http://www.lfd.uci.edu/~gohlke/pythonlibs/ , pero a veces estropeaba la compatibilidad. Me encantó tener Py2exe y Cython completamente configurados , y simplemente funcionó de inmediato .
Después de un tiempo, intenté instalar la versión gratuita de Canopy, pero carece de Cython y py2exe y algunos paquetes avanzados específicos que necesitaba, así que nunca lo usé. Algunos de mis colegas compraron la licencia completa de Canopy, pero todavía no estamos seguros de cómo se van a actualizar ...
Python (x, y): no queriendo luchar con las licencias, instalé Python (x, y) en casa. El único inconveniente que noté en este momento es que la instalación estándar requiere que seleccione los paquetes que desea. Es un punto tanto bueno como malo, porque no puedo estar seguro de que mis clientes tengan exactamente la misma configuración que yo cuando instalo. (El conjunto de herramientas Enthought se puede instalar en Python (x, y)). Después de usar Python (x, y) por un tiempo, me di cuenta de que instalé la versión de 32 bits. Aunque no está claro en su sitio web, parece que no tienen una versión de 64 bits en julio de 2015. La desinstalaré y obtendré una distribución de 64 bits.
Anaconda: Cuando escribí esto por primera vez, Anaconda no parecía tener suficientes paquetes todavía. Un par de años después, parece mucho mejor, ¡voy a intentarlo!
Manual: para evitar problemas de compatibilidad de versiones con nuestra versión anterior de EPD, terminé usando la instalación manual de Python y agregando paquetes adicionales del sitio web de LFD vinculado anteriormente. Funciona muy bien, pero aún así sugeriría Canopy a un nuevo usuario que requiera paquetes avanzados (como GDAL o PyFITS ).
Resumen: Si opta por Canopy, obtenga la licencia completa (académica o comprada). De lo contrario, vaya con Python (x, y), terminará siendo lo mismo.
En Ubuntu: No es necesaria una distribución. Todo es relativamente reciente (+/- 6 meses es tolerable) y está precompilado. ¡Solo necesita ejecutar
sudo apt-get install python python-scipy
y ya está! Los paquetes más avanzados también están ahí.fuente
Las otras respuestas cubren el terreno bastante bien, así que solo quiero comentar un aspecto en particular que nadie ha mencionado todavía. Probablemente sea un nicho, pero potencialmente puede hacer o deshacer Anaconda o Canopy para algunas personas en sistemas Linux:
Las compilaciones de Anaconda Python usan el modo UCS4 Unicode, mientras que Enthought Canopy usa UCS2.
Lo que esto significa en términos prácticos es que si confía en alguna extensión que no pueda compilar usted mismo por cualquier motivo (por ejemplo, bibliotecas propietarias precompiladas), si resulta que no están compiladas para una versión de Python con el mismo modo, es posible que lo haga antes. o más tarde encontrar errores que se parezcan a
undefined symbol: PyUnicodeUCS4_AsUTF8String
.Según PEP 0513 , UCS4 parece ser actualmente más popular y recomendado. Además, todos los problemas de compatibilidad con UCS parecen afectar solo a las versiones 2.xy <3.3.
fuente
Usé Anaconda durante años y me gustó bastante. Desafortunadamente, IPython Notebook (ahora Jupyter ) no está disponible sin la edición empresarial.
Quiero usar los cuadernos de Jupyter en el aula, así que cambié a Canopy. Parece bastante fácil instalar todos los paquetes que necesitamos. Es cierto que no los hemos probado todos.
fuente