[Py-MAD] Reunión Marzo 2015 Python-Madrid

Kiko kikocorreoso at gmail.com
Fri Mar 13 13:02:26 CET 2015


El 13 de marzo de 2015, 12:28, piranna at gmail.com <piranna at gmail.com>
escribió:

> > Yo nunca he usado npm (ni pienso) pero te contesto con otra pregunta
> > (honestamente no la sé): ¿en Node.js hay paquetes que combinan
> JavaScript,
> > C, C++ y Fortran?
>
> Definitivamente, si :-) npm es agnostico al lenguaje y a la plataforma
> (vamos, como apt) asi que se puede meter dentro lo que quieras.
> Fortran no lo he visto pero no habria ningun problema.
>

Al igual que Python y pip. El problema lo tiene el empaquetador y la
responsabilidad que quiera adquirir con determinados usuarios.


>
> Respecto a C/C++ hay muchos modulos compilados en npm (realmente se
> compilan en el cliente con node-gyp que se ha convertido en el entorno
> de compilacion oficial de npm, pero usando node-pre-gyp puedes usar
> algun modulo precompilado si el autor lo ha subido para tu plataforma
> a AWS o similar). Hasta la version 0.8 se compilaba directamente
> contra los headers de Node.js, pero a partir de la version 0.10 se ha
> puesto de moda el usar NAN (https://www.npmjs.com/package/nan) que son
> una serie de macros que abstraen de las diferencias en las APIs entre
> versiones y en la version 0.12 ya es la forma oficial de hacer modulos
> compilados.
>
> Respecto a si hay paquetes que combinan varios lenguajes, ws es la
> libreria para WebSockets por excelencia y permite ser usada solo con
> Javascript o usano modulos compilados de C++ para aumentar el
> rendimiento, y en NodeOS tenemos un monton de dependencias compiladas
> para poder acceder a los syscalls de Linux o para montar los sistemas
> de ficheros :-)
>
> https://github.com/NodeOS/nodeos-mount
> https://www.npmjs.com/package/nodeos-mount
>
> Ahi tienes un ejemplo "sencillo" (se lee en 5 minutos) de Javascript y
> C++ viviendo en armonia, e instalable desde npm :-) Simplemente tienes
> que hacer "npm install" y ya lo tienes :-D
>
> (Y si, esa "magia" es la que me gusta de npm, lo sencillo e integrado
> que esta todo. Quizas sea ese su secreto...)
>

Yo también hago 'pip install numpy' y me instala ficheros python, C, C++,
Cython, Fortran,...

En el mundo de los paquetes hay dos grandes problemas.
-Al instalar. Pip resuelve el 95% de los casos de forma satisfactoria
(nunca he tenido problemas serios con pip, de hecho, creo que pip no tiene
la culpa de ello). Pip se encarga de hacer lo que diga el setup.py.
-Al crear el paquete. Aquí existen muchos problemas porque cuando el
paquete no es puro Python y tiene muchas dependencias no hay una forma
obvia y bien explicada de hacer las cosas. Aquí, y solo aquí, es donde
conda puede aportar cosas, intentando unificar este problema y resolverlo.

El problema de crear el paquete también viene derivado de la
diversidad/fragmentación existente en el software en general (sistemas
operativos, versiones de sistemas operativos, compiladores, versiones de
lenguaje, que cada loco mete lo que quiere en su jardín y no es compatible
con lo del resto porque se dedica a eso y tiene sus propios intereses,...).

Nos metemos todos los días con pip pero creo que pip no es el problema y
creo que el problema no es único de Python.

Y crear millones de copias del mismo paquete para cada paquete que lo
requiere no creo que sea una solución muy satisfactoria pero node es cool y
en node todo mola... Cambia node por python, julia, elyxir o el lenguaje
del que esté s enamorado en el momento de hacer tu afirmación.

Saludos.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.es.python.org/pipermail/madrid/attachments/20150313/6c984af3/attachment.html>


More information about the Madrid mailing list