Re: [Python-es] [Py-ES] Sistemas de colas
Para nada ha sido pedante o chapas Lasizoillo, es genial contar con comentarios tan completos y tan bien documentados, ¡gracias! :) Nunca me había parado a mirar sobre extender Celery, y ahora ya sé por dónde empezar. Por curiosidad, ¿para qué habéis tenido la necesidad de ampliarlo? En mi caso uso Celery por los mismos motivos, ya que se adapta a las necesidades de cualquier proyecto sin necesidad de conocer todos sus requerimientos. Además, al usarlo en más proyectos, adquiero conocimiento reaprovechable. Otra ventaja es su robustez, su documentación y añadiría su monitorización. Es importante monitorizar el correcto funcionamiento de las colas, y para Celery al ser tan utilizado hay muchos recursos. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El mar, 6 jul 2021 a las 8:17, Federico Mon () escribió: > Es un buen apunte, yo no he trabajado con procesos que consumiesen tanta > RAM > > On July 5, 2021 11:12:24 PM GMT+02:00, Jose Manuel > wrote: >> >> Quería señalar que si te quedas sin RAM y el trabajo está ya lanzado, si >> te quedas sin el. >> >> Y aunque hagas try, except finally. Al ser matado por el sistema no lo >> captura ni el try ni sentry. >> >> Hablo de creación de ficheros de más de 10GB . >> >> Y lo resalto porque bueno, parece obvio cuando ya lo sabes, pero cuando >> no, te pegas de leches con los try except... >> >> El lun., 5 jul. 2021 22:41, Federico Mon escribió: >> >>> Yo he usado Celery (poco) y Redis Queue (algo más) y me quedo con este >>> último. >>> >>> En general, no tengo la experiencia de que se mueran los workers. Los >>> trabajos pueden fallar, si salta alguna excepción, etc, pero con un Sentry >>> o similar puedes estar al tanto. >>> >>> Creo que en tu caso sería levantar tantos workers como cores tengas, y >>> así no te excedes con los trabajos simultáneos. Quizás meterlo bajo un >>> supervisor para asegurarte de que no mueren? >>> >>> On July 5, 2021 9:30:25 PM GMT+02:00, Felipe Maza >>> wrote: >>>> >>>> Hola, >>>> >>>> Llevo unos días viendo diferentes programas para gestionar sistemas de >>>> colas y, en principio, creo que casi todos parecen complejos para lo que >>>> necesito. >>>> >>>> Mi problema a resolver es el siguiente, tenemos un modelo de predicción >>>> que se ejecuta periódicamente y también bajo demanda del usuario. Ese >>>> modelo se ejecuta en un solo hilo y tarda bastantes minutos en completar la >>>> tarea. Por tanto, puedo tener varias ejecuciones simultáneas siempre que no >>>> excedamos el número de cores disponibles, ya que en ese caso se vuelve el >>>> sistema excesivamente lento. Al modelo se le invoca a través de una pequeña >>>> api hecha con flask. En el futuro puede que haya otros modelos en la >>>> misma máquina. >>>> >>>> Hace un par de años para un problema similar ya me programé mi propio >>>> gestor de colas rudimentario,pero ahora busco algo que sea estable, con >>>> pocos bugs, mantenible, etc. >>>> >>>> Las características que (creo que) necesito son: >>>> - Encolar tareas (logicamente) >>>> - Tener colas con diferente prioridad (manuales, periódicas). >>>> - Registrar la salida, tanto si ha tenido éxito como si ha tenido >>>> errores. >>>> - (opcional) En un futuro ejecutar otras apis con modelo en la misma >>>> máquina. >>>> >>>> >>>> Lo primero que he explorado ha sido Celery, y es impresionante el >>>> montón de posibilidades que ofrece, tantas que ir poco más de los ejemplos >>>> iniciales me parece muy complejo para solucionar el problema anterior. Me >>>> da la sensación que hay que controlar un montón de aspectos para montarlo y >>>> mantenerlo correctamente; y que cuando aparezca algún error no va a ser >>>> rápido dar con la solución. >>>> >>>> Después de mirar otras alternativas, con la que parece que he montado >>>> una primera versión que parece que me lo soluciona, es Redis Queue ( >>>> https://python-rq.org/). La forma en la que utiliza Redis es >>>> relativamente simple, y más o menos ofrece lo que necesito. >>>> En el tema de los worker creo que ahí flojea un poco, pues parece que >>>> tendré que gestionar manualmente cuántos hay arrancados y si no se han &
Re: [Python-es] Elección de tecnologías para la web de Python España
La conversación se va a mover a la lista general. Por favor, no responder en esta lista. Gracias, y perdonad. El día 12 de junio de 2016, 21:37, Nekmo <nin...@gmail.com> escribió: > ¡Hola a todos! > > Me uní hace poco tiempo a Python España, y como nuevo miembro, busco a > ver cómo puedo aportar a la asociación :) > > Hablando con Juan Luis, éste me comentó que haría falta mejorar la web > actual. Como desarrollador web, me ofrecí voluntario a echar una mano > al respecto. Actualmente la web usa Django, y creo que por su > popularidad sigue siendo buena idea usarlo (aunque cada uno puede > aportar alternativas). A parte, también propuse usarlo junto con > DjangoCMS, por su versatilidad, comunidad y uso. > > Como la elección de ambas tecnologías son algo más bien subjetivo (por > usarlas en el trabajo), escribo este email para ver si a la gente le > parece bien el uso de ambas opciones, y recibir nuevas sugerencias. > > Escribo esto por esta lista porque actualmente no tengo acceso a la > lista oficial de la asociación. Este es un email relacionado con > únicamente con la asociación. > > Por favor, si se sugiere una nueva tecnología, estaría bien poder > recibir sus razones para la elección de dicha tecnología, haberla > usado personalmente, y a ser posible, poder colaborar con el proyecto > para hacer uso de sus conocimiento en dicha tecnología. Por supuesto, > dichas tecnologías deben estar basadas en Python :) > > Así pues, comienzo yo con las 2 propuestas iniciales: > > Django: > -- > Probablemente el framework más popular en Python. Gran comunidad y > cantidad de opciones de serie. Permite un desarrollo rápido. Usado por > webs como Pinterest o Lawrence. Framework modular con muchos módulos > disponibles. Tiene una especificación para la creación de los módulos. > Se trata de un framework MVC. Posee su propio sistema de db y > templates. Altamente escalable. Excelente documentación > > https://www.djangoproject.com/ > > DjangoCMS: > > CMS de uso empresarial para Django. Permite la creación de páginas de > contenido y posee gran cantidad de plugins y apps. Tiene apps para > blog, categorización de personas, ofertas de trabajo... según Juan > Luis son todas cosas que nos hacen falta y ya están hechas para > DjangoCMS. No es nada intrusivo, y permite adaptar fácilmente apps de > Django a DjangoCMS. Las páginas son completamente personalizables, al > poseer un sistema de bloques al que pueden añadirse plugins de mapas, > texto, comentarios, entre otras tantas cosas. Mantiene un Django muy > puro, al utilizar el mismo sistema de back (Django Admin), el cual > integra para la administración en el front con modales. Tiene detrás > empresas grandes como Divio o Nephila. La primera, posee además > Aldryn, una plataforma de Cloud y alojamiento para sitios DjangoCMS. > Podemos hablar con ellos para ver si nos alojan :) Es totalmente > software libre. Grandes empresas utilizan DjangoCMS como National > Geographic, Loreal, NASA, Salt., Canonical, PBS, Parrot... Buena > documentación. > > https://www.django-cms.org/en/ > > Demo: https://control.aldryn.com/demo/get-new/ ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] Elección de tecnologías para la web de Python España
¡Hola a todos! Me uní hace poco tiempo a Python España, y como nuevo miembro, busco a ver cómo puedo aportar a la asociación :) Hablando con Juan Luis, éste me comentó que haría falta mejorar la web actual. Como desarrollador web, me ofrecí voluntario a echar una mano al respecto. Actualmente la web usa Django, y creo que por su popularidad sigue siendo buena idea usarlo (aunque cada uno puede aportar alternativas). A parte, también propuse usarlo junto con DjangoCMS, por su versatilidad, comunidad y uso. Como la elección de ambas tecnologías son algo más bien subjetivo (por usarlas en el trabajo), escribo este email para ver si a la gente le parece bien el uso de ambas opciones, y recibir nuevas sugerencias. Escribo esto por esta lista porque actualmente no tengo acceso a la lista oficial de la asociación. Este es un email relacionado con únicamente con la asociación. Por favor, si se sugiere una nueva tecnología, estaría bien poder recibir sus razones para la elección de dicha tecnología, haberla usado personalmente, y a ser posible, poder colaborar con el proyecto para hacer uso de sus conocimiento en dicha tecnología. Por supuesto, dichas tecnologías deben estar basadas en Python :) Así pues, comienzo yo con las 2 propuestas iniciales: Django: -- Probablemente el framework más popular en Python. Gran comunidad y cantidad de opciones de serie. Permite un desarrollo rápido. Usado por webs como Pinterest o Lawrence. Framework modular con muchos módulos disponibles. Tiene una especificación para la creación de los módulos. Se trata de un framework MVC. Posee su propio sistema de db y templates. Altamente escalable. Excelente documentación https://www.djangoproject.com/ DjangoCMS: CMS de uso empresarial para Django. Permite la creación de páginas de contenido y posee gran cantidad de plugins y apps. Tiene apps para blog, categorización de personas, ofertas de trabajo... según Juan Luis son todas cosas que nos hacen falta y ya están hechas para DjangoCMS. No es nada intrusivo, y permite adaptar fácilmente apps de Django a DjangoCMS. Las páginas son completamente personalizables, al poseer un sistema de bloques al que pueden añadirse plugins de mapas, texto, comentarios, entre otras tantas cosas. Mantiene un Django muy puro, al utilizar el mismo sistema de back (Django Admin), el cual integra para la administración en el front con modales. Tiene detrás empresas grandes como Divio o Nephila. La primera, posee además Aldryn, una plataforma de Cloud y alojamiento para sitios DjangoCMS. Podemos hablar con ellos para ver si nos alojan :) Es totalmente software libre. Grandes empresas utilizan DjangoCMS como National Geographic, Loreal, NASA, Salt., Canonical, PBS, Parrot... Buena documentación. https://www.django-cms.org/en/ Demo: https://control.aldryn.com/demo/get-new/ ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Post-install en setup.py con Wheel
Oh, que otra gente hiciese el trabajo por mí estaría genial... pero me temo que mi proyecto no es lo bastante conocido ni usado como para ello xD Yo también evito siempre que puedo utilizar "sudo pip install" sobre todo porque luego las dependencias instaladas pueden dar problemas con las del sistema, pero como dices, no hay mucha más solución debido a la naturaleza del proyecto. En otros proyectos intento incluso incentivar que la gente lo instale en un virtualenv, pero aquí es imposible. Ante todo, gracias :) Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El día 6 de junio de 2016, 16:22, Juan Luis Cano <juanlu...@gmail.com> escribió: > La verdad, si yo fuera tú lo dividiría en dos pasos, te quitarás de > bastantes problemas... > > Por otro lado: veo que pones `sudo pip install`. Yo lo evito como la peste > porque tiene consecuencias indeseadas y conduce a mensajes de error > rarísimos, pero entiendo por la naturaleza de tu biblioteca que tiene que > ser así. ¿No has pensado mejor que otra gente empaquete tu biblioteca para > cada distribución de Linux? > > 2016-06-06 16:08 GMT+02:00 Nekmo <conta...@nekmo.com>: >> >> No te preocupes, sé perfectamente que está desaconsejado y soy >> consciente de los riesgos y problemas :) >> >> Según entiendo, lo que propones es hacer esto, ¿no? >> >> >> class FakeBdistWheel(Command): >> description = 'Faked Wheel' >> user_options = [] >> >> def initialize_options(self): >> pass >> >> def finalize_options(self): >> pass >> >> def run(self): >> print('Sorry, but wheel is not supported for this package!') >> >> >> setup( >> cmdclass={'install': SystemInstallCommand, 'bdist_wheel': >> FakeBdistWheel}, >> ... >> >> >> Como dices, el paquete se instala correctamente, pero el mensaje de >> error hace pensarse a la gente que ha habido un error, y me mandan >> emails pidiéndome ayuda :( >> >> Mi intención es que esto sea algo temporal, hasta que tenga paquetes >> para las principales distribuciones. Pero claro, como es algo tedioso >> y pesado, hasta ese momento prefiero dejarle el trabajo sucio al >> gestor de paquetes de Python. Estoy barajando también la opción de >> dividir el proceso de instalación en 2 pasos: >> >> sudo pip install simple-monitor-alert && sudo python -m >> simple_monitor_alert.install >> >> Saludos, ¡y gracias! >> >> >> Un cordial saludo: >> -- Nekmo. >> >> Sitio web: http://nekmo.com >> Dirección de contacto: conta...@nekmo.com >> XMPP/Jabber: conta...@nekmo.com >> Google+: Nekmo Com >> >> >> El día 6 de junio de 2016, 6:41, Juan Luis Cano <juanlu...@gmail.com> >> escribió: >> > En realidad, lo que ocurre es que se intenta construir un wheel por cada >> > paquete que estás instalando y sus dependencias pero este paso falla por >> > lo >> > que has comentado. Sin embargo, a juzgar por el log todo se instala >> > correctamente y en principio deberías poder importar el paquete con >> > normalidad. De hecho acabo de probarlo y me funciona: >> > >> > $ pip install simple-monitor-alert >> > # Mensaje de error al crear wheel, instalación exitosa >> > $ python >> >>>> import simple_monitor_alert >> >>>> simple_monitor_alert.__version__ >> > '0.2.3' >> > >> > Lo que puedes hacer es sobreescribir el comando bdist_wheel para impedir >> > su >> > ejecución, mostrar un mensaje o simplemente no hacer nada. >> > >> > En principio los scripts de post-instalación dejarán de ser un hack >> > cuando >> > se termine la PEP 426: >> > >> > https://www.python.org/dev/peps/pep-0426/ >> > >> > Mientras tanto, el consenso de la comunidad es que «lo estás haciendo >> > mal». >> > >> > Espero que te sirva, un saludo: >> > >> > Juanlu >> > >> > >> > >> > On 2016-06-06 03:54, Nekmo wrote: >> >> >> >> Buenas a todos. >> >> >> >> Tengo un paquete que requiere de pasos adicionales para su instalación >> >> en el sistema, ya que no es una biblioteca sino una aplicación. Entre >> >> otras cosas hace: >> >> - Instalar servicios (init, systemd). >> >> - Actualizar los archivos de configuración, si se necesitase. >> >> - Crea
Re: [Python-es] Post-install en setup.py con Wheel
No te preocupes, sé perfectamente que está desaconsejado y soy consciente de los riesgos y problemas :) Según entiendo, lo que propones es hacer esto, ¿no? class FakeBdistWheel(Command): description = 'Faked Wheel' user_options = [] def initialize_options(self): pass def finalize_options(self): pass def run(self): print('Sorry, but wheel is not supported for this package!') setup( cmdclass={'install': SystemInstallCommand, 'bdist_wheel': FakeBdistWheel}, ... Como dices, el paquete se instala correctamente, pero el mensaje de error hace pensarse a la gente que ha habido un error, y me mandan emails pidiéndome ayuda :( Mi intención es que esto sea algo temporal, hasta que tenga paquetes para las principales distribuciones. Pero claro, como es algo tedioso y pesado, hasta ese momento prefiero dejarle el trabajo sucio al gestor de paquetes de Python. Estoy barajando también la opción de dividir el proceso de instalación en 2 pasos: sudo pip install simple-monitor-alert && sudo python -m simple_monitor_alert.install Saludos, ¡y gracias! El día 6 de junio de 2016, 6:41, Juan Luis Cano <juanlu...@gmail.com> escribió: > En realidad, lo que ocurre es que se intenta construir un wheel por cada > paquete que estás instalando y sus dependencias pero este paso falla por lo > que has comentado. Sin embargo, a juzgar por el log todo se instala > correctamente y en principio deberías poder importar el paquete con > normalidad. De hecho acabo de probarlo y me funciona: > > $ pip install simple-monitor-alert > # Mensaje de error al crear wheel, instalación exitosa > $ python >>>> import simple_monitor_alert >>>> simple_monitor_alert.__version__ > '0.2.3' > > Lo que puedes hacer es sobreescribir el comando bdist_wheel para impedir su > ejecución, mostrar un mensaje o simplemente no hacer nada. > > En principio los scripts de post-instalación dejarán de ser un hack cuando > se termine la PEP 426: > > https://www.python.org/dev/peps/pep-0426/ > > Mientras tanto, el consenso de la comunidad es que «lo estás haciendo mal». > > Espero que te sirva, un saludo: > > Juanlu > > > > On 2016-06-06 03:54, Nekmo wrote: >> >> Buenas a todos. >> >> Tengo un paquete que requiere de pasos adicionales para su instalación >> en el sistema, ya que no es una biblioteca sino una aplicación. Entre >> otras cosas hace: >> - Instalar servicios (init, systemd). >> - Actualizar los archivos de configuración, si se necesitase. >> - Crear enlaces simbólicos. >> - Crear un usuario del sistema si no existiese >> - Dar los permisos correctos a los directorios correspondientes. >> >> Todo esto funciona muy bien a día de hoy, y me permite tener un >> paquete instalable en cualquier distribución de forma fácil y >> amigable. Además, si el paquete es instalado en modo usuario, estos >> pasos se saltan mostrando una advertencia al usuario. >> >> El problema llega con Wheel: mis usuarios se quejan porque reciben un >> mensaje de error de Wheel (el cual no uso) durante la instalación, >> aunque el programa se instale perfectamente. >> >> https://github.com/Nekmo/simple-monitor-alert/issues/24 >> >> >> - >>Checking .pth file support in build/bdist.linux-x86_64/wheel/ >>/usr/bin/python -E -c pass >>TEST FAILED: build/bdist.linux-x86_64/wheel/ does NOT support .pth >> files >>error: bad install directory or PYTHONPATH >> >>You are attempting to install a package to a directory that is not >>on PYTHONPATH and which Python does not read ".pth" files from. The >>installation directory you specified (via --install-dir, --prefix, or >>the distutils default setting) was: >> >>build/bdist.linux-x86_64/wheel/ >> >>and your PYTHONPATH environment variable currently contains: >> >>'' >> >>Here are some of your options for correcting the problem: >> >>* You can choose a different installation directory, i.e., one that is >> on PYTHONPATH or supports .pth files >> >>* You can add the installation directory to the PYTHONPATH environment >> variable. (It must then also be on PYTHONPATH whenever you run >> Python and want to use the package(s) you are installing.) >> >>* You can set up the installation directory to support ".pth" files by >> using one of the approaches described here: >> >> >> >> https://pythonhosted.org/setuptools/easy_install.html#custom-installation-locations >> >>Please make the appropriate chang
Re: [Python-es] Post-install en setup.py con Wheel
No te preocupes, sé perfectamente que está desaconsejado y soy consciente de los riesgos y problemas :) Según entiendo, lo que propones es hacer esto, ¿no? class FakeBdistWheel(Command): description = 'Faked Wheel' user_options = [] def initialize_options(self): pass def finalize_options(self): pass def run(self): print('Sorry, but wheel is not supported for this package!') setup( cmdclass={'install': SystemInstallCommand, 'bdist_wheel': FakeBdistWheel}, ... Como dices, el paquete se instala correctamente, pero el mensaje de error hace pensarse a la gente que ha habido un error, y me mandan emails pidiéndome ayuda :( Mi intención es que esto sea algo temporal, hasta que tenga paquetes para las principales distribuciones. Pero claro, como es algo tedioso y pesado, hasta ese momento prefiero dejarle el trabajo sucio al gestor de paquetes de Python. Estoy barajando también la opción de dividir el proceso de instalación en 2 pasos: sudo pip install simple-monitor-alert && sudo python -m simple_monitor_alert.install Saludos, ¡y gracias! Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El día 6 de junio de 2016, 6:41, Juan Luis Cano <juanlu...@gmail.com> escribió: > En realidad, lo que ocurre es que se intenta construir un wheel por cada > paquete que estás instalando y sus dependencias pero este paso falla por lo > que has comentado. Sin embargo, a juzgar por el log todo se instala > correctamente y en principio deberías poder importar el paquete con > normalidad. De hecho acabo de probarlo y me funciona: > > $ pip install simple-monitor-alert > # Mensaje de error al crear wheel, instalación exitosa > $ python >>>> import simple_monitor_alert >>>> simple_monitor_alert.__version__ > '0.2.3' > > Lo que puedes hacer es sobreescribir el comando bdist_wheel para impedir su > ejecución, mostrar un mensaje o simplemente no hacer nada. > > En principio los scripts de post-instalación dejarán de ser un hack cuando > se termine la PEP 426: > > https://www.python.org/dev/peps/pep-0426/ > > Mientras tanto, el consenso de la comunidad es que «lo estás haciendo mal». > > Espero que te sirva, un saludo: > > Juanlu > > > > On 2016-06-06 03:54, Nekmo wrote: >> >> Buenas a todos. >> >> Tengo un paquete que requiere de pasos adicionales para su instalación >> en el sistema, ya que no es una biblioteca sino una aplicación. Entre >> otras cosas hace: >> - Instalar servicios (init, systemd). >> - Actualizar los archivos de configuración, si se necesitase. >> - Crear enlaces simbólicos. >> - Crear un usuario del sistema si no existiese >> - Dar los permisos correctos a los directorios correspondientes. >> >> Todo esto funciona muy bien a día de hoy, y me permite tener un >> paquete instalable en cualquier distribución de forma fácil y >> amigable. Además, si el paquete es instalado en modo usuario, estos >> pasos se saltan mostrando una advertencia al usuario. >> >> El problema llega con Wheel: mis usuarios se quejan porque reciben un >> mensaje de error de Wheel (el cual no uso) durante la instalación, >> aunque el programa se instale perfectamente. >> >> https://github.com/Nekmo/simple-monitor-alert/issues/24 >> >> >> - >>Checking .pth file support in build/bdist.linux-x86_64/wheel/ >>/usr/bin/python -E -c pass >>TEST FAILED: build/bdist.linux-x86_64/wheel/ does NOT support .pth >> files >>error: bad install directory or PYTHONPATH >> >>You are attempting to install a package to a directory that is not >>on PYTHONPATH and which Python does not read ".pth" files from. The >>installation directory you specified (via --install-dir, --prefix, or >>the distutils default setting) was: >> >>build/bdist.linux-x86_64/wheel/ >> >>and your PYTHONPATH environment variable currently contains: >> >>'' >> >>Here are some of your options for correcting the problem: >> >>* You can choose a different installation directory, i.e., one that is >> on PYTHONPATH or supports .pth files >> >>* You can add the installation directory to the PYTHONPATH environment >> variable. (It must then also be on PYTHONPATH whenever you run >> Python and want to use the package(s) you are installing.) >> >>* You can set up the installation directory to support ".pth" files by >> using one of the approaches described here: >&
Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio
No he probado Kivy, pero tiene buena pinta. https://kivy.org/ Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El día 12 de enero de 2016, 19:33, Mario Lacunza <mlacu...@gmail.com> escribió: > Creo q pidió app de escritorio y no web...xq para el caso también puede usar > Django. > > Saludos / Best regards > > Mario Lacunza > Email:: mlacu...@gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Skype: mlacunzav > > Lima - Peru > > El 12 de enero de 2016, 13:25, Kiko <kikocorre...@gmail.com> escribió: >> >> >> El 12 de enero de 2016, 18:38, Jesús Quintero Suárez <jesusq...@msn.com> >> escribió: >>> >>> Kiko, si entiendo bien, con flask puedo desarrollar aplicaciones que >>> corren como de escritorio!, como sería eso?. >> >> >> Con flask puedes crer una aplicación web que puedes embeber dentro de un >> QWebView (PyQT), por ejemplo. >> >> O, directamente, puedes correrlo en un navegador y no depender de PyQT, >> Wx, GTK/PyGObject,... Dependerás de otras cosas. >> >> Pero es solo una sugerencia. Depende de lo que necesites hacer. >> >> Un ejemplo mínimo de lo primero copiado/adaptado de aquí >> (http://codereview.stackexchange.com/a/114307): >> >> #Testedo en Python3.5 >> >> import sys >> >> from PyQt4.QtCore import QThread, QUrl >> from PyQt4.QtGui import QApplication >> from PyQt4.QtWebKit import QWebView >> from flask import Flask >> >> PORT = 5000 >> ROOT_URL = 'http://localhost:{}'.format(PORT) >> >> >> class FlaskThread(QThread): >> def __init__(self, application): >> QThread.__init__(self) >> self.application = application >> >> def __del__(self): >> self.wait() >> >> def run(self): >> self.application.run(port=PORT) >> >> >> def provide_GUI_for(application): >> qtapp = QApplication(sys.argv) >> >> webapp = FlaskThread(application) >> webapp.start() >> >> qtapp.aboutToQuit.connect(webapp.terminate) >> >> webview = QWebView() >> webview.load(QUrl(ROOT_URL)) >> webview.show() >> >> return qtapp.exec_() >> >> >> if __name__ == '__main__': >> app = Flask(__name__) >> >> @app.route('/') >> def index(): >> return "Hola Mundo!!" >> >> sys.exit(provide_GUI_for(app)) >> >>> >>> >>> >>> De: Python-es [mailto:python-es-bounces+jesusquin=msn@python.org] En >>> nombre de Kiko >>> Enviado el: martes, 12 de enero de 2016 10:50 a. m. >>> Para: La lista de python en castellano <python-es@python.org> >>> Asunto: Re: [Python-es] Orientación para el desarrollo de aplicaciones de >>> escritorio >>> >>> >>> >>> >>> >>> >>> >>> El 12 de enero de 2016, 16:34, Jesús Quintero Suárez <jesusq...@msn.com> >>> escribió: >>> >>> Hola todos, he leído de todo un poco pero realmente no es suficiente como >>> para elegir la combinación de paquetes más adecuada, quiero desarrollar si >>> es posible con una de las versiones más recientes de python y con la base de >>> datos postgresql. >>> >>> ¿Cuál es ORM el más adecuado? >>> >>> ¿Para GUIs que me recomiendan, y si es posible una herramienta RAD? >>> >>> >>> >>> Agradezco la colaboración que me puedan brindar, gracias. >>> >>> >>> >>> >>> >>> Approach clásico: >>> - ORM: SQLAlchemy >>> >>> - GUI/RAD: PyQT/QtDesigner >>> >>> Aunque depende para qué iría con bootstrap+flask+sqlalchemy >>> - Look & Feel sería similar en las diferentes plataformas. >>> - no hay problemas de compilar las librerías gráficas, que puede ser un >>> poco doloroso en algún caso y algún SO. >>> >>> - Gran parte del desarrollo te vale para tener una app online, si es >>> necesario. >>> >>> - Aprendes desarrollo web :-P >>> - ... >>> >>> >>> >>> Saludos. >>> >>> >>> >>> >>> >>> >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >>> >>> >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio
Yo para una aplicación de escritorio usando tecnología web, no utilizaría Django por diversos motivos: 1º. Porque Django es bastante grande. 2º. Porque donde destaca es en lado del servidor, y una aplicación de este tipo requerirá sobre todo de lógica en el lado del cliente. 3º. Django está pensado para correr tras un servidor web como Nginx, y aunque es posible usar un servidor web en Python, le estás añadiendo una mayor complicación. 4º. En Django se trabaja por proyectos, siendo un proyecto una web. Ello dificulta su distribución como aplicación de escritorio. Y ojo, no lo digo porque no me guste Django. Lo utilizo todos los días y me dedico profesionalmente a ello. Sólo digo que Django, aunque puede utilizarse para correr una aplicación destinada a cliente de escritorio, no es lo más óptimo ni cómodo, porque no fue diseñado para ello. En su lugar, recomendaría Flask u otro miniframework parecido. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El día 12 de enero de 2016, 20:28, Mario Lacunza <mlacu...@gmail.com> escribió: > Pues escoger el motor de base de datos no tiene nada q ver con q sea desktop > o web, sino va en función de la cantidad de información q tiene q almacenar, > si va montada en red y permite múltiples usuarios (sqlite no) y accesos con > concultas recurrentes, punteros, inserciones y un largo ETC.. > > Saludos / Best regards > > Mario Lacunza > Email:: mlacu...@gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Skype: mlacunzav > > Lima - Peru > > El 12 de enero de 2016, 14:25, Kiko <kikocorre...@gmail.com> escribió: >> >> BTW, si es una aplicación de escritorio porqué irías con postgresql y >> no con algo más simple con sqlite? >> >> El 12/1/16, Nicolas lino <nicolasli...@gmail.com> escribió: >> > Kivy++ >> > >> > El 12 de enero de 2016, 16:11, Nekmo <conta...@nekmo.com> escribió: >> > >> >> No he probado Kivy, pero tiene buena pinta. >> >> >> >> https://kivy.org/ >> >> >> >> Un cordial saludo: >> >> -- Nekmo. >> >> >> >> Sitio web: http://nekmo.com >> >> Dirección de contacto: conta...@nekmo.com >> >> XMPP/Jabber: conta...@nekmo.com >> >> Google+: Nekmo Com >> >> >> >> >> >> El día 12 de enero de 2016, 19:33, Mario Lacunza <mlacu...@gmail.com> >> >> escribió: >> >> > Creo q pidió app de escritorio y no web...xq para el caso también >> >> > puede >> >> usar >> >> > Django. >> >> > >> >> > Saludos / Best regards >> >> > >> >> > Mario Lacunza >> >> > Email:: mlacu...@gmail.com >> >> > Personal Website:: http://www.lacunza.biz/ >> >> > Hosting:: http://mlv-host.com/ >> >> > Mascotas Perdidas:: http://mascotas-perdidas.com/ >> >> > Skype: mlacunzav >> >> > >> >> > Lima - Peru >> >> > >> >> > El 12 de enero de 2016, 13:25, Kiko <kikocorre...@gmail.com> >> >> > escribió: >> >> >> >> >> >> >> >> >> El 12 de enero de 2016, 18:38, Jesús Quintero Suárez >> >> >> <jesusq...@msn.com >> >> > >> >> >> escribió: >> >> >>> >> >> >>> Kiko, si entiendo bien, con flask puedo desarrollar aplicaciones >> >> >>> que >> >> >>> corren como de escritorio!, como sería eso?. >> >> >> >> >> >> >> >> >> Con flask puedes crer una aplicación web que puedes embeber dentro >> >> >> de >> >> >> un >> >> >> QWebView (PyQT), por ejemplo. >> >> >> >> >> >> O, directamente, puedes correrlo en un navegador y no depender de >> >> >> PyQT, >> >> >> Wx, GTK/PyGObject,... Dependerás de otras cosas. >> >> >> >> >> >> Pero es solo una sugerencia. Depende de lo que necesites hacer. >> >> >> >> >> >> Un ejemplo mínimo de lo primero copiado/adaptado de aquí >> >> >> (http://codereview.stackexchange.com/a/114307): >> >> >> >> >> >> #Testedo en Python3.5 >> >> >> >> >> >> import sys >> >> >> >> &
Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio
Flask puede servir el proyecto con los archivos estáticos incluidos, y además está preparado para múltiples peticiones (multithread). Es un servidor web Python a fin y al cabo. No es tan óptimo como correrlo con un gunicorn + nginx/lighttpd/loquesea para los estáticos pero, ¿y qué más da? Sólo tienes un único usuario. Con Django necesitas obligatoriamente otro servidor que lo sirva usando WSGI u otra tecnología. El servidor incluido para pruebas (runserver) está demasiado limitado. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El día 12 de enero de 2016, 20:53, Mario Lacunza <mlacu...@gmail.com> escribió: > Disculpa y como haces una app "web de escritorio" sin una parte servidor > donde corra (php, python, java o el lenguaje servidor usado) toda la lógica > basado ya sea en LAMP o Nginx? > > Xq tener parte de la lógica del cliente en el desktop pues rompe el concepto > de app web donde todo reside en el servidor, por eso sólo se necesita un > browser para usarla sin tener q instalar NADA del lado cliente, creo q andan > confundidos con los conceptos centrales y el cómo desplegar la app. > > Saludos / Best regards > > Mario Lacunza > Email:: mlacu...@gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Skype: mlacunzav > > Lima - Peru > > El 12 de enero de 2016, 14:38, Nekmo <conta...@nekmo.com> escribió: >> >> Yo para una aplicación de escritorio usando tecnología web, no >> utilizaría Django por diversos motivos: >> >> 1º. Porque Django es bastante grande. >> 2º. Porque donde destaca es en lado del servidor, y una aplicación de >> este tipo requerirá sobre todo de lógica en el lado del cliente. >> 3º. Django está pensado para correr tras un servidor web como Nginx, y >> aunque es posible usar un servidor web en Python, le estás añadiendo >> una mayor complicación. >> 4º. En Django se trabaja por proyectos, siendo un proyecto una web. >> Ello dificulta su distribución como aplicación de escritorio. >> >> Y ojo, no lo digo porque no me guste Django. Lo utilizo todos los días >> y me dedico profesionalmente a ello. Sólo digo que Django, aunque >> puede utilizarse para correr una aplicación destinada a cliente de >> escritorio, no es lo más óptimo ni cómodo, porque no fue diseñado para >> ello. En su lugar, recomendaría Flask u otro miniframework parecido. >> >> Un cordial saludo: >> -- Nekmo. >> >> Sitio web: http://nekmo.com >> Dirección de contacto: conta...@nekmo.com >> XMPP/Jabber: conta...@nekmo.com >> Google+: Nekmo Com >> >> >> El día 12 de enero de 2016, 20:28, Mario Lacunza <mlacu...@gmail.com> >> escribió: >> > Pues escoger el motor de base de datos no tiene nada q ver con q sea >> > desktop >> > o web, sino va en función de la cantidad de información q tiene q >> > almacenar, >> > si va montada en red y permite múltiples usuarios (sqlite no) y accesos >> > con >> > concultas recurrentes, punteros, inserciones y un largo ETC.. >> > >> > Saludos / Best regards >> > >> > Mario Lacunza >> > Email:: mlacu...@gmail.com >> > Personal Website:: http://www.lacunza.biz/ >> > Hosting:: http://mlv-host.com/ >> > Mascotas Perdidas:: http://mascotas-perdidas.com/ >> > Skype: mlacunzav >> > >> > Lima - Peru >> > >> > El 12 de enero de 2016, 14:25, Kiko <kikocorre...@gmail.com> escribió: >> >> >> >> BTW, si es una aplicación de escritorio porqué irías con postgresql y >> >> no con algo más simple con sqlite? >> >> >> >> El 12/1/16, Nicolas lino <nicolasli...@gmail.com> escribió: >> >> > Kivy++ >> >> > >> >> > El 12 de enero de 2016, 16:11, Nekmo <conta...@nekmo.com> escribió: >> >> > >> >> >> No he probado Kivy, pero tiene buena pinta. >> >> >> >> >> >> https://kivy.org/ >> >> >> >> >> >> Un cordial saludo: >> >> >> -- Nekmo. >> >> >> >> >> >> Sitio web: http://nekmo.com >> >> >> Dirección de contacto: conta...@nekmo.com >> >> >> XMPP/Jabber: conta...@nekmo.com >> >> >> Google+: Nekmo Com >> >> >> >> >> >> >> >> >> El día 12 de enero de 2016, 19:33, Mario Lacunza >> >> &g
Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio
@Mario Lacunza, Flask consume muy poquitos recursos, como 8-12MiB de RAM, y aunque modesto, su servidor web se porta realmente bien si no hablamos de grandes cantidades de usuarios. Si hablamos de desarrollar para un solo usuario, al ser una "aplicación de escritorio", te sirve y te sobra. ¿En qué casos he usado yo Flask para propósitos como este? 1. Un daemon en Python que requiere una interfaz de configuración. Al tener una interfaz web, permite su fácil configuración desde otra máquina. 2. Una aplicación de servidor que, al no poder contar con interfaz GUI convencional, se ha desarrollado vía web. Son casos sencillos y que no requieren de algo grande, ni van a atender muchas peticiones. Prefiero evitarme los problemas de una configuración compleja si puedo tenerlo todo en uno. Y en el caso de una aplicación de escritorio, es básico su facilidad de distribución. En ocasiones nos empeñamos en matar moscas a cañonazos, cuando una solución así es mucho más simple, fácil de desarrollar, mantener, instalar, y no requiere de múltiples servicios corriendo (Gunicorn + Nginx + ...). Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El 13 de enero de 2016, 0:50, Mario Lacunza <mlacu...@gmail.com> escribió: > Vivo en el mismo mundo q tu, y no todo se debe o puede hacerse en web ya q > todo depende de los requerimientos para modelar una solución ofimática. En > este caso el amigo sólo pidió "aplicación de escritorio" sin más. Por eso > muchos entendemos una app tradicional no web, claro q ahora el modelo web > también es posible como mencionan. > > Sin embargo al amigo q le contesté x su solución en la q el mismo se > contradice sobre su eficiencia y modelado, agregando mas librerías a cada > respuesta (lo cual sabemos q significa) no era algo óptimo. > > Y recuerda q no TODO es web sino sistemas como SAP y un largo etc no > existirían y M$ (léase Microsoft) no seguiría dando soporte a lenguajes de > programación que puedan crear sistemas desktop tradicionales y sus > librerías de controles, dlls, etc. > > Y en el mundo donde vivimos no todos pueden comprarse un CoreI7 + 16GB de > RAM con lo último, tengo muchos q aun tienen PCs viejas Core2Duo y una de > ellas funge de servidor de datos y creo q es la realidad de muchos países. > > Escalabilidad: eso depende de COMO diseñes tu sistema y nada más. > > En web es mejor la instalación de upgrades ya q no tienes q ir de cliente > en cliente instalando los exe, deb o bin nuevos, sólo haces el deploy en el > server y listo. > > Al final la solución que se ofrezca se dará según requerimientos y con lo > q tenga el user de fierro, lo q recomendé es lo más sencillo de instalar y > usar para una app desktop tradicional, punto el resto son gustos y sobre > eso no han escrito los autores. > > Saludos / Best regards > > Mario Lacunza > Email:: mlacu...@gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Skype: mlacunzav > > Lima - Peru > > El 12 de enero de 2016, 17:30, Mario R. Osorio <mario@osorio.solutions> > escribió: > >> >> @Mario Lacunza >> >> Mario, >> Con el debido respeto, cuando dices que >> >> >>> "*La verdad lo q recomiendas es un Frankenstein de solución*" >> >> >> Me haces pensar que quizás vivas en otro mundo. >> >> La tendencia hoy día es hacer TODAS las aplicaciones para la web. Esto >> ofrece, entre muchas otras, la ventaja de que cualquier usuario con un >> navegador la puede utilizar. >> Por supuesto, en el otro lado tiene que haber al menos un servidor web y >> otro de bases de datos, pero como explico alguien anteriormente, existen >> varios servidores web y sistemas de bases de datos relacionales, no >> relacionales, sql, nosql; que puedes escoger, según la carga que tu >> aplicación va a tener. Existen opciones para todo y lo mejpr es que tanto >> los servidores web como de bases de datos de hoy día pueden convivir >> prácticamente en cualquier computador de los que se fabrican hoy día >> absolutamente sin ningún problema. >> >> Incluso, aun si la aplicación es mono usuario, hacerla web te da la >> ventaja de la posibilidad de escalarla y adaptarla a cualquier necesidad. >> >> Por otro lado, estamos hablando de python. Tu puedes usar cualquier >> combinación de tecnologías y lenguajes de programación, etc. que quieras >> pero, aunque también lo puedes usar en tu aplicación, NO NECESITAS PHP. >> >> >> Dtb/Gby >> ==
Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio
De hacerlo yo, lo haría con Qt, Wx, o probaría Kivy, el cual ya propuse antes. Y no, no digo que utilizar Flask sea lo ideal, pero con la poca información inicial, podría haber sido una opción tan digna como cualquier otra. Aquí todo el mundo ha propuesto soluciones con la mejor de las intenciones, y con la información que había, si el compañero hubiese tenido conocimientos de desarrollo web, habría sido una buena opción. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El 13 de enero de 2016, 1:31, Mario Lacunza <mlacu...@gmail.com> escribió: > Ya leiste los requerimientos q ha puesto el amigo Jesus? aún piensas q tu > idea es buena? > > Antes q existieran las apps web estuvieron las desktop puras y aún siguen > y su distribución no es mucho problema, 2 o 3 installers (y luego 1) tipo > click click q tanto les gustan a los users windows y listo. > > Leyendo los requerimientos de Jesús insisto q tu solución no es adecuada. > > Saludos / Best regards > > Mario Lacunza > Email:: mlacu...@gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Skype: mlacunzav > > Lima - Peru > > El 12 de enero de 2016, 19:11, Nekmo <conta...@nekmo.com> escribió: > >> @Mario Lacunza, Flask consume muy poquitos recursos, como 8-12MiB de >> RAM, y aunque modesto, su servidor web se porta realmente bien si no >> hablamos de grandes cantidades de usuarios. >> >> Si hablamos de desarrollar para un solo usuario, al ser una "aplicación >> de escritorio", te sirve y te sobra. >> >> ¿En qué casos he usado yo Flask para propósitos como este? >> 1. Un daemon en Python que requiere una interfaz de configuración. Al >> tener una interfaz web, permite su fácil configuración desde otra máquina. >> 2. Una aplicación de servidor que, al no poder contar con interfaz GUI >> convencional, se ha desarrollado vía web. >> >> Son casos sencillos y que no requieren de algo grande, ni van a atender >> muchas peticiones. Prefiero evitarme los problemas de una configuración >> compleja si puedo tenerlo todo en uno. Y en el caso de una aplicación de >> escritorio, es básico su facilidad de distribución. >> >> En ocasiones nos empeñamos en matar moscas a cañonazos, cuando una >> solución así es mucho más simple, fácil de desarrollar, mantener, instalar, >> y no requiere de múltiples servicios corriendo (Gunicorn + Nginx + ...). >> >> >> Un cordial saludo: >> -- Nekmo. >> >> Sitio web: http://nekmo.com >> Dirección de contacto: conta...@nekmo.com >> XMPP/Jabber: conta...@nekmo.com >> Google+: Nekmo Com >> >> El 13 de enero de 2016, 0:50, Mario Lacunza <mlacu...@gmail.com> >> escribió: >> >>> Vivo en el mismo mundo q tu, y no todo se debe o puede hacerse en web ya >>> q todo depende de los requerimientos para modelar una solución ofimática. >>> En este caso el amigo sólo pidió "aplicación de escritorio" sin más. Por >>> eso muchos entendemos una app tradicional no web, claro q ahora el modelo >>> web también es posible como mencionan. >>> >>> Sin embargo al amigo q le contesté x su solución en la q el mismo se >>> contradice sobre su eficiencia y modelado, agregando mas librerías a cada >>> respuesta (lo cual sabemos q significa) no era algo óptimo. >>> >>> Y recuerda q no TODO es web sino sistemas como SAP y un largo etc no >>> existirían y M$ (léase Microsoft) no seguiría dando soporte a lenguajes de >>> programación que puedan crear sistemas desktop tradicionales y sus >>> librerías de controles, dlls, etc. >>> >>> Y en el mundo donde vivimos no todos pueden comprarse un CoreI7 + 16GB >>> de RAM con lo último, tengo muchos q aun tienen PCs viejas Core2Duo y una >>> de ellas funge de servidor de datos y creo q es la realidad de muchos >>> países. >>> >>> Escalabilidad: eso depende de COMO diseñes tu sistema y nada más. >>> >>> En web es mejor la instalación de upgrades ya q no tienes q ir de >>> cliente en cliente instalando los exe, deb o bin nuevos, sólo haces el >>> deploy en el server y listo. >>> >>> Al final la solución que se ofrezca se dará según requerimientos y con >>> lo q tenga el user de fierro, lo q recomendé es lo más sencillo de instalar >>> y usar para una app desktop tradicional, punto el resto son gustos y sobre >>> eso no han escrito los autores. >>> >>&g
Re: [Python-es] Tutorial pytnon curses
Virtualenvwrapper. Te facilita el trabajo con Virtualenv :P Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El día 1 de septiembre de 2015, 1:05, Carlos Zuniga <carlos@gmail.com> escribió: > 2015-08-31 17:25 GMT-05:00 RadicalEd <willian.radica...@gmail.com>: >> La vaina es que no quiero instalar librerias extras porque sería para una >> aplicación en la empresa y no puedo meterle tanto la mano a los servidores >> > > virtualenv > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] ¿Código de python que merece ser estudiado?
El código de Django es bastante claro, fácil de entender y documentado, además de aprovechar ciertas características del lenguaje que lo hace merecedor de su estudio para aprender. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El día 3 de agosto de 2015, 5:01, AGTUGO agt...@gmail.com escribió: Les pido compartir aquel proyecto donde hayan visto un código python que merece la pena ser estudiado: -Por su belleza, simplicidad. -Por el conocimiento que adquieres después de estudiarlo. -Por lo bien comentado que esta. Saludos. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Instalar datos con setup.py
Según he entendido, quieres crear directorios/archivos de configuración con el instalador. Bien, para mí, eso es una mala idea, porque todo lo que se encuentra en la HOME, es susceptible de ser borrado (para reiniciar la configuración), además de que limita tu programa a los usuarios que hubiesen cuando se instaló el programa. Lo más normal, sería que se comprobase que dicho directorio/archivo existe con cada inicio del programa, y si no existen crearlos. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Google+: Nekmo Com El día 12 de mayo de 2015, 13:15, Ezequiel ezecasti...@gmail.com escribió: Hola! Para instalar de manera local (por defecto utiliza el directorio ~/.local/lib/pythonX.Y/) podés hacer: python setup.py install --user Para más información: python setup.py -h Saludos! Saludos! El may 12, 2015 7:44 AM, Marcos Chavarría Teijeiro chavarria1...@gmail.com escribió: Hola! Estoy construyendo un programa para analizar los resultados de una batería de tests (en concreto de WebKitGTK). Esta batería de test proporciona un fichero json por cada ejecución. Mi programa debe guardar estos ficheros en un directorio para analizarlos posteriormente y conseguir, por ejemplo, desde cuando un test está fallando. Para agilizar el inicio del trabajo el programa guarda en propio repositorio una gran cantidad de estos resultados de forma que el usuario no tenga que descargarlos todos al inicio solo los nuevos. Me gustaría copiar dichos ficheros a otro directorio del sistema en concreto ~/.jsonresults usando el script de instalación. He intentado usar la keyword data_files sin demasiado éxito. El problema es que para instalar el programa se tiene que ejecutar como sudo por lo que en vez de instalarlos en mi home lo hace en el de root. Seguro que es un problema recurrente y probablemente bastante trivial pero no se me ha ocurrido ninguna solución :(. Alguna idea?? Un saludo, Marcos Chavarría. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Fwd: Queda inaugurada la lista Python España
Si hay más gente por Málaga y queréis salir a tomar unas birras, aquí tenéis a un servidor o/ Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 26 de noviembre de 2012 22:45, Juan Luis Cano Rodríguez juanlu...@gmail.com escribió: -- Forwarded message -- From: Juan Luis Cano juanlu...@gmail.com Date: 2012/11/26 Subject: Queda inaugurada la lista Python España To: python-sp...@googlegroups.com Hola a todos, este es el primer mensaje de la lista Python España. Yo soy Juan Luis Cano (dando la vara en @Pybonacci), soy estudiante de Ingeniería Aeronáutica en Madrid (actualmente residiendo en Milán) y espero que esto sea el comienzo de algo grande :) Propongo que utilicemos esta lista para hablar sobre reuniones de grupos locales para saber qué hace otra gente en otras partes de España, organizar la PyConES (que es la empresa importante que tenemos entre manos) y cualquier cosa que consideréis de interés para los demás (aunque para dudas sobre código mejor usar Python Hispano o Python Majibu). Un saludo a todos, Juan Luis Cano -- ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lanzamiento del Proyecto Sboty
Probé con Sphinx en su momento, pero los resultados eran totalmente aleatorios. En mi caso, la idea era reconocer la palabra dicha en un conjunto limitado de palabras, lo cual lograba limitando el diccionario a dichas palabras. Pero los resultados no eran buenos. Pero claro, hablo de hace años, tal vez lo hayan solucionado :) Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 17 de julio de 2012 02:06, Alfonso de la Guarda alfons...@gmail.com escribió: Hola, Estamos trabajando con http://cmusphinx.sourceforge.net/sphinx4/#what_is_sphinx4 Saludos, Alfonso de la Guarda Twitter: @alfonsodg Redes sociales: alfonsodg Telef. 991935157 1024D/B23B24A4 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 2012/7/16 Nekmo conta...@nekmo.com: ¿qué habéis usado para el STT? Investigué hace tiempo sobre el tema, pero en español los bancos de voz estaban muy verdes... Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 16 de julio de 2012 17:32, Alfonso de la Guarda alfons...@gmail.com escribió: Hola, Luego de varias coordinaciones con diversas organizaciones e instituciones, lanzamos el proyecto SBOTY, robot de mensajería con soporte de inteligencia artificial mediante AIML. Las versiones de las organizaciones gubernamentales que han mejorado el proyecto incluyen soporte de webservices y próximamente voz a texto (para, por ejemplo, emplearlo en una central telefónica), aunque esto estará sujeto a los tiempos en que los equipos de desarrollo de dichas instituciones decidan publicarlo (lo que deben hacer puesto que la licencia es la GPL v3). La solución es el core de diversas versiones que aparecerán en breve, específicamente para atención al ciudadano, seguridad social y salud. Pueden adaptarlo, también, para soporte de otros servicios (actualmente brinda soporte google talk / google apps / msn messenger-live) debido a que integra xmpp como protocolo de comunicaciones Pueden acceder al código fuente y customizarlo para sus necesidades empresariales, gubernamentales o sin fines de lucro en: https://github.com/alfonsodg/sboty https://bitbucket.org/alfonsodg/sboty/ Adicionalmente, pueden acceder al demo agregando: d...@ictec.biz a sus clientes de mensajería, comienzen a preguntarle y él les responderá. El producto ya está en producción más de un año, así que no debería haber problema con su funcionamiento, actualmente estamos trabajando para integrar voz/texto/voz de tal manera que automatiza los servicios telefónicos, quioscos, cajeros, etc. Saludos, Alfonso de la Guarda Twitter: @alfonsodg Redes sociales: alfonsodg Telef. 991935157 1024D/B23B24A4 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lanzamiento del Proyecto Sboty
¿qué habéis usado para el STT? Investigué hace tiempo sobre el tema, pero en español los bancos de voz estaban muy verdes... Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 16 de julio de 2012 17:32, Alfonso de la Guarda alfons...@gmail.com escribió: Hola, Luego de varias coordinaciones con diversas organizaciones e instituciones, lanzamos el proyecto SBOTY, robot de mensajería con soporte de inteligencia artificial mediante AIML. Las versiones de las organizaciones gubernamentales que han mejorado el proyecto incluyen soporte de webservices y próximamente voz a texto (para, por ejemplo, emplearlo en una central telefónica), aunque esto estará sujeto a los tiempos en que los equipos de desarrollo de dichas instituciones decidan publicarlo (lo que deben hacer puesto que la licencia es la GPL v3). La solución es el core de diversas versiones que aparecerán en breve, específicamente para atención al ciudadano, seguridad social y salud. Pueden adaptarlo, también, para soporte de otros servicios (actualmente brinda soporte google talk / google apps / msn messenger-live) debido a que integra xmpp como protocolo de comunicaciones Pueden acceder al código fuente y customizarlo para sus necesidades empresariales, gubernamentales o sin fines de lucro en: https://github.com/alfonsodg/sboty https://bitbucket.org/alfonsodg/sboty/ Adicionalmente, pueden acceder al demo agregando: d...@ictec.biz a sus clientes de mensajería, comienzen a preguntarle y él les responderá. El producto ya está en producción más de un año, así que no debería haber problema con su funcionamiento, actualmente estamos trabajando para integrar voz/texto/voz de tal manera que automatiza los servicios telefónicos, quioscos, cajeros, etc. Saludos, Alfonso de la Guarda Twitter: @alfonsodg Redes sociales: alfonsodg Telef. 991935157 1024D/B23B24A4 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Recorrer fichero XML con Python
Amara no lo conocía, yo el que uso es lxml, que además es compatible con Python3 (el cual uso mucho). Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 20 de diciembre de 2011 07:15, Luis Miguel Morillas moril...@gmail.com escribió: El 19 de diciembre de 2011 21:56, Carlos Maykel López González carlos.lo...@etecsa.cu escribió: Hola a todos: Les escribo pues me encargaron una aplicación con Python + QT4 y como soporte para los datos XML. la aplicación es para consultar los datos que están en el fichero XML. y leido y visto un sin numero de ejemplos pero no logro concretar la idea de como realizar esta consulta al fichero. aquí les envió un fragmento de mi xml. Necesitas un parser de xml [1] Yo uso Amara [2] por su eficiencia y porque genera una estructura de objetos python a partir de un doc xml. Según lo que tengas que hacer (extracción de datos, validación, proceso xslt, ...) tendrás que elegir uno u otro. [1] http://wiki.python.org/moin/PythonXml [2] http://wiki.xml3k.org/Amara -- lm ROW UNIDAD_NEGOCIO33/UNIDAD_NEGOCIO FILIAL12/FILIAL UNIDAD_BASICA1212/UNIDAD_BASICA CICLOR5/CICLO OFICINA662/OFICINA SECTORPT/SECTOR ESTADOA/ESTADO AGRUPACION12100053785/AGRUPACION CUENTA/ NO_FACTURA1662CDEDSI/NO_FACTURA NOMBREMaria Perez Perez/NOMBRE SERVICIO/SERVICIO ACTIVOA/ACTIVO COD_MONEDACUP/COD_MONEDA CUOTA6.25/CUOTA LDN15.45/LDN LDI0.00/LDI LOCAL0.00/LOCAL OTROS0.00/OTROS IMPUESTO0.00/IMPUESTO COMISION0.00/COMISION FACTURADO21.70/FACTURADO ATRASOS/ TOTAL21.70/TOTAL /ROW ROW UNIDAD_NEGOCIO33/UNIDAD_NEGOCIO FILIAL12/FILIAL UNIDAD_BASICA1212/UNIDAD_BASICA CICLOR5/CICLO OFICINA662/OFICINA SECTORPT/SECTOR ESTADOA/ESTADO AGRUPACION1200111004550/AGRUPACION CUENTA492175/CUENTA NO_FACTURA16DD2CD0FY1/NO_FACTURA NOMBRERoberto Lopez Regueiro/NOMBRE SERVICIO/SERVICIO ACTIVOA/ACTIVO COD_MONEDACUP/COD_MONEDA CUOTA7.25/CUOTA LDN5.85/LDN LDI0.00/LDI LOCAL0.00/LOCAL OTROS8.00/OTROS IMPUESTO0.00/IMPUESTO COMISION0.00/COMISION FACTURADO21.10/FACTURADO ATRASOS/ TOTAL21.10/TOTAL /ROW -- --- This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at host imx3.etecsa.cu Visit our web-site: http://www.kaspersky.com, http://www.viruslist.com ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Deshabilitir directory listing en el servidor web SimpleHTTPServer
¿por qué no iba a ser una buena solución? No obstante, te aviso de que SimpleHTTPServer no es multi-thread, sólo es útil para tests o compartir algo con otra máquina. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 14 de octubre de 2011 01:08, Jose Caballero jcaballero@gmail.com escribió: Hola, Estoy intentando averiguar como eliminar el listado automático de directorios cuando no hay un index.htm[l] en el servidor web de python. La documentación dice que en ese caso se hace una llamada a list_directory(), pero no encuentro ese método en la lista de la web oficial. Había pensado en heredar SimpleHTTPServer y sobreescribir list_server() para que no haga nada. ¿sabe alguien de una idea mejor? Muchas gracias, Jose ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] estructura de datos, duda existencial
Me gusta el tema :D Me apunto lo de shelve... una solución que utilizo yo, es guardar la información en un archivo json, que aunque no es tan eficiente, te permite mantener la mayoría de los tipos de Python, incluyendo diccionarios, listados, etc. Con recursividad incluso :D Saludos. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 22 de septiembre de 2011 07:38, Francesc Alted fal...@pytables.org escribió: Hola Miguel, 2011/9/22 Miguel Barraza cor...@miguelbarraza.com.ar: hola!, ya arrancamos con mis dudas existenciales, jaja. según las experiencias de ustedes, cual es la mejor forma de almacenar datos?: xml, yamx, json, sql, o archivos.py?. les comento, para practicar estoy diseñando un juego (por simple gusto no mas) y quiero poner objetos que se puedan interactuar, cada objeto tiene sus propiedades, y quería diseñar una clase que tome los datos de ese objeto, cantidad de objetos?, no se, inicialmente pocos pero luego seguir ampliando deapoco, así que quiero generar un estandar para que sea facil agregar nuevos. por eso mi duda, necesito guardar propiedades de ese objeto en un lado, cual es la mejor forma utilizando: xml, yamx, sql, o poniendo directamente variables en archivos.py, cual es la forma mas rápida de capturar esos datos para procesarlos?. Pues es una buena pregunta, ya que las maneras para serializar datos son prácticamente infinitas. Para cosas sencillas, yo te recomendaria pickle, que te permite serializar prácticamente cualquier estructura de Python de una manera muy eficiente (acuérdate de usar siempre el parámetro pickle.HIGHEST_PROTOCOL). Cuando quieres serializar muchas variables de una tacada, lo mejor es que crees un diccionario y pongas todas tus variables allí. Después ya puedes 'picklear' el diccionario entero. Finalmente, si realmente quieres guardar un montón de pickles, y no quieres tener que deserializar todo el fichero (o stream) cada vez, el módulo shelve es muy útil. shelve se comporta básicamente como un diccionario, pero basado en disco: cada vez que accedes a una entrada, se recupera sólo esa información y se deserializa al vuelo, de manera que recuperas el objeto inicial de manera muy sencilla (y eficiente). Espero sea de ayuda. Ánimo y adelante! -- Francesc Alted ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Hackear objeto list
Para este tipo de cosas está la clase UserList: http://docs.python.org/library/userdict.html?highlight=userlist#UserList.UserList La cual para compatibilidad con Python 3.x, yo importo así: import sys if sys.version_info (3,0): from UserDict import UserDict from UserList import UserList else: from collections import UserDict, UserList Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 17 de septiembre de 2011 21:48, Jose Caballero jcaballero@gmail.com escribió: El 17 de septiembre de 2011 14:47, Oswaldo lis...@soft-com.es escribió: El 17/09/2011 20:20, Jose Caballero escribió: El 17 de septiembre de 2011 06:19, Oswaldo lis...@soft-com.es mailto:lis...@soft-com.es escribió: Hola, Tengo un objeto 'list' que es creado por una librería externa sobre el que me gustaría modificar el método 'append'. class List(list): def append(self, value): super(List, self).append(value) print 'append ', value Gracias por responder, pero como ya comentaba esta solución no me vale ya que al intentar sustituir la lista original con una instancia de esta clase genera un error: L = List() libr.lista = L Traceback (most recent call last): File input, line 1, in module TypeError: readonly attribute quizas si nos muestras el codigo de libr podemos ayudar mejor. Tienes sobreescrito __setattr__? ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] ¿Como cierro correctamente un hilo-servidor de sockets?
La mejor solución a mi parecer, es modificar el timeout. A parte, si usáis TCP, a veces solo queda esperar a que se libere... es el problema de dicho protocolo :P Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 26 de agosto de 2011 21:53, gerardo Juarez gerardojua...@buyteknet.info escribió: Efectivamente Sergio, es el mismo comportamiento que yo he observado: la aplicación cierra el socket, termina y aún así, pasan algunos segundos para que el puerto quede disponible nuevamente. No me parece que sea un problema directamente atribuible a tu aplicación, sino más bien a la forma en que el sistema libera -o registra- que los puertos han sido liberados. Habría que informarse cómo está implementada la función 'restart' de los servicios de Linux, por ejemplo, porque allí terminan un servicio y lo reinician tan pronto como es posible. De qué modo averiguan que ya está disponible el puerto? Sergio Martín wrote: Pero al cerrar el socket del servidor (como comento en mi segundo mensaje) ¿no debería liberarse el puerto? Por otro lado ¿como puedo cerrar el hilo si lo tengo en espera de un cliente? ¿Hay alguna otra forma aparte de salir del bucle infinito que tengo? El 26 de agosto de 2011 15:10, chakalinux chakali...@gmail.com mailto:chakali...@gmail.com escribió: En la interrupcion KeyboardInterrupt tienes que cerrar los hilos para que no se te quede el mismo en CLOSE_WAIT que en ciertos casos puede durar bastante en liberarse. De todas maneras yo te recomiendo que uses la librería select o asyncore para manejar socket's, intenta evitar cuando puedas sockets y threading El 26 de agosto de 2011 02:21, Sergio Martín sergiomart...@gmail.com mailto:sergiomart...@gmail.com escribió: Comentar que aunque añada la línea: self.socketserver.close() en el método close() de la clase TelnetServer el resultado es el mismo. El día 26 de agosto de 2011 02:17, Sergio Martín sergiomart...@gmail.com mailto:sergiomart...@gmail.com escribió: Tengo un script en el que, primero, ejecuto un servidor de sockets en un hilo, y cada conexión que reciba, genera su propio hilo. El problema viene cuando intento salirme del programa mediante una excepción KeyboardInterrupt controlada, funciona bien si no ha habido ninguna conexión al socket-servidor, pero si me salgo del programa una vez que he recibido alguna conexión, y, a continuación ejecuto el programa de nuevo, me sale un socket.error: [Errno 48] Address already in use, como si no hubiese cerrado el socket del servidor correctamente, teniéndome que esperar un rato hasta que se libere el puerto. Tengo controladas dos situaciones una que desde el cliente telnet se pase el comando quit, con lo que cierro el socket del cliente, y otra cuando se pierde la conexión con el cliente sin introducir el comando quit El error solo me lo lanza cuando he salido por medio del quit. Aviso que está escrito en python3, y se que hay mejores formas de hacer esto en vez de usar hilos, como el módulo twisted (sin compatibilidad python3) o el asyncore, pero solo tengo planeado recibir un par de conexiones simultáneas por lo que no se generarán muchos hilos. Pongo una versión simplificada del programa, con solo lo básico para ilustrar el problema: #! /usr/bin/env python3 import threading import socket import sys import time class TelnetServer(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.socketserver = socket.socket() self.socketserver.bind(('', )) self.socketserver.listen(5) def run(self): print('Servidor en marcha') while True: socketclient, addr = self.socketserver.accept() client = TelnetClient(socketclient, addr) client.start() def close(self): print('Servidor detenido') class TelnetClient(threading.Thread): def __init__(self, socketclient, addr): threading.Thread.__init__(self) self.socketclient = socketclient self.addr = addr def run(self): print('Conexión: %s:%s' % (self.addr[0], self.addr[1])) while True: try
Re: [Python-es] Cliente HTTP para pruebas de red
Puede hacerlo de forma sencilla con urllib, y te recomiendo usar threads. Saludos. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo Google+: Nekmo Com El día 23 de julio de 2011 07:23, Allan N. Porras alp...@netsescr.com escribió: Me han dicho que para pegar o tostar un web server es enviandole muchos POST. ¿Como puedo hacer eso en Python? Necesito pegar un web server (Apache o cualquiera) y medir el desempeño del sistema operativo. Gracias a todos por las ideas. - Mensaje original - De: lasizoillo lasizoi...@gmail.com Para: La lista de python en castellano python-es@python.org Enviados: Sábado, 16 de Julio 2011 5:39:42 Asunto: Re: [Python-es] Cliente HTTP para pruebas de red El día 16 de julio de 2011 06:24, Allan N. Porras alp...@netsescr.com escribió: He estado leyendo estas bibliotecas, pero no tengo idea de còmo funciona. http://code.google.com/p/httplib2/wiki/Examples Ideas?? Si, mira, esta todo explicado en el siguiente enlace: http://www.w3.org/Protocols/rfc2616/rfc2616.txt Una vez mirado eso podrás entender cómo funciona httplib2 o incluso hacerte tu propia librería a base de sockets. Para entender como hacer pruebas para tostar un servidor web antes tendrás que saber como está (o puede estar) implementado el server. A veces la mejor forma de dejarlo ko no es enviar muchas peticiones muy rápidas: http://en.wikipedia.org/wiki/Slowloris Si sabes como funcionan los buffers tcp, el manejador de eventos de red, que partes se tratan en modo kernel o en modo usuario, la implementación de la multitarea (procesos, hilos, eventos), ... es más fácil hacer algo para tostar el sistema. Saludos: Javi ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Reunión día 12 de Mayo de python-madrid
Me va a ser imposible ir por la distancia, y porque hoy tengo cosas que hacer... aunque espero que os podáis reunir mucho, y sobre todo que os lo paséis bien ;-) Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 12 de mayo de 2011 03:54, Jesus Cea j...@jcea.es escribió: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Pablo Lobariñas está pachuchillo y no podrá asistir mañana, así que mando este mensaje en su lugar. Convocatoria de la reunión mensual de Mayo de python-madrid: Día: 12 de Mayo Hora: 20:00 Lugar: o2c. Calle orellana 1, 1ºD. Metro Alonso Martinez. Charlas: * David: Simulador de lentes gravitacionales. * Segunda charla a decidir entre * Jesús Cea: Persistencia con Durus * Jesús Espino: Introducción a GTK para Python * Evolución del grupo y posibilidades de hosting de audio y video, local permanente, etc. David grabará el audio de la sesión. Kiko posiblemente no esté para grabar el video, así que si algún otro asistente puede ocuparse de ello, perfecto. Publico esta notificación en las listas de correo python-madrid, python-es y en el twitter @python_madrid. PS: Yo intentaré asistir, pero no es seguro que pueda. Si me retraso, empezad sin mí. - -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ j...@jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:j...@jabber.org _/_/ _/_/ _/_/_/_/_/ . _/_/ _/_/ _/_/ _/_/ _/_/ Things are not so easy _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ My name is Dump, Core Dump _/_/_/ _/_/_/ _/_/ _/_/ El amor es poner tu felicidad en la felicidad de otro - Leibniz -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQCVAwUBTcs9xZlgi5GaxT1NAQIkPAP9Eok822Rx8pnDjayi5LPWoK1UFIieLoQ6 Z4wrdXTHTmXSU9JnW0PkRvUdTd2Ep/qKwipaRUIleOVQKSwbMqi5+57LmofQQvS1 67EjsK4wsa1L036P7VypUxQLOtTbDJMt6647jzuUG0NY9Po70DzGjU89r6rnvoBK jxOOeQ+tyDI= =sWmw -END PGP SIGNATURE- ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Recarga de los archivos fuente
En Python3 (que es lo que él usa) ahora reload se encuentra en el módulo imp. http://docs.python.org/release/3.0.1/whatsnew/3.0.html http://docs.python.org/release/3.0.1/library/imp.html#imp.reload Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 4 de mayo de 2011 15:34, Francisco Javier Cuadrado fcocuadr...@gmail.com escribió: El día 4 de mayo de 2011 15:33, Francisco Javier Cuadrado fcocuadr...@gmail.com escribió: El día 4 de mayo de 2011 15:12, Douglas Jiménez doug...@gmail.com escribió: ¡Hola a tod@s! Estoy llevando mi labor de principiante de la siguiente manera: uso gedit para editar los programas fuente y los corro desde un terminal linux. Ahora bien, he observado que las modificaciones de los programas fuente no los reconoce python (3.1) en la misma sesión. Tengo que terminar la sesión y volver a ella para que sean tomadas en cuenta. Cada vez que modifico escribo import nombre del archivo fuente. ¿Alguien sabe por qué sucede esto? Porque una vez importas un módulo, éste se queda guardado en memoria de modo que aunque hagas otro import no se modificará. Aunque todos hemos probado «a mano» alguna vez, lo mejor es que hagas tests unitarios o cualquier otro tipo de pruebas automatizadas. Se me olvidaba, también puedes ejecutar la función reload (modulo) para recargar un módulo ya importado. -- Saludos Fran ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Modificando un XML
Te recomiendo no parsear XML/XHTML mediante regex, no es una buena idea ;-) Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 26 de abril de 2011 13:04, Francisco Rivas franciscojriv...@gmail.com escribió: Hola a todos, perdonen la tardanza he estado fuera estos dias. Feliz Pascua!. Pues gracias a los comentarios hare pruebas con varias de ellas, pero estoy viendo que por ejemplo una expresion regular tambien puede ser muy util sin usar ningun modulo adicional. lxml esta muy bien. :D Muy buen dia. 2011/4/21 lasizoillo lasizoi...@gmail.com El día 21 de abril de 2011 15:16, lopz lowlife...@gmail.com escribió: El día 20 de abril de 2011 09:37, lasizoillo lasizoi...@gmail.com escribió: Recuerdo que cuando usaba BeautifulSoup, antes de por supuesto pasarme a otra librería, tenía la extraña costumbre de leer la documentación: http://www.crummy.com/software/BeautifulSoup/documentation.html#Modifying%20the%20Parse%20Tree Solo por curiosidad ¿cuál usas ahora? Es que yo me he quedado con BS y al parecer el lxml va bastante fino. Pues si, uso lxml mayormente. Pero no hay que olvidarse de BS del todo ;-) http://lxml.de/elementsoup.html Tener xpath y selectores css puede ahorrar mucho tiempo (de programador) y lineas de código. Con el iterparse puedes procesar ficheros xml de varios gigas a una velocidad equivalente o superior a la que se puede conseguir con un parser sax en java (mucho más coñazo de hacer y mantener). Tanto para webscraping, como para procesar ficheros enormes en xml, lxml no defrauda. La unica desventaja es que hay que compilar cosas en c, no es pure python. Saludos: Javi ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Convertir de mutable a inmutable
Si usas repr no te va a funcionar. Python no es igual a la sintaxis de Javascript (la cual es JSON). Por ejemplo, mientras que en JSON tienes false, true y null, en Python tienes False, True y None, lo cual te provocará a la hora de trabajar con el pseudo JSON bonitos errores del tipo False no está definida, además de que como tengas algo que no sea un string en la key de un diccionario, a la hora de interpretar el JSON también te petará (en el caso de usar el módulo JSON, te petará al dumpear xD). Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 23 de abril de 2011 14:24, tny a.por...@gmail.com escribió: El lun, 18-04-2011 a las 18:24 +0200, Pepe Aracil escribió: Hola Lista. Tengo que cachear objetos JSON, es decir puedo encontrarme con listas y diccionarios que son mutables y por tanto al no ser hashables no pueden formar parte de las keys de un diccionario. Una idea es pasar todos los objetos mutables (diccionarios y listas) a inmutables (tuplas) mediante una función recursiva. Ejemplo: {method:foo, params:[sota,caballo]} -- ((method,foo), (params,(sota,caballo))) Este sistema se me antoja algo Gastón en cuanto a ciclos CPU El otro método consiste en usar la representación en cadena del objeto usando repr(objeto): repr({method:foo, params:[sota,caballo]}) - '{method:foo, params:[sota,caballo]}' ¿Alguna idea más al respecto? Gracias. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ Voto por repr Y mucho mejor si deribas la clase de los objetos JSON y le añades el metodo hash, de modo que te cree el hash de la representación del json ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Convertir de mutable a inmutable
Vale, entonces, por lo que entiendo, la idea es comparar si un diccionario es igual a otro, ¿verdad? En tal caso, habría que tener en cuenta que el orden de los valores puede cambiar, lo cual es un problema... :| Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 24 de abril de 2011 13:43, Pepe Aracil p...@diselpro.com escribió: Hola Nekmo. Creo que me he explicado mal, la idea de usar repr() no es para parsear JSON que para eso ya existe el módulo json. Mi intención es cachear peticiones JSON/RPC que se traducen en diccionarios python en el lado del server. Para lo cual necesito que estos diccionarios puedan formar parte de las keys de un diccionario que contiene los resultados cacheados. Para tal fin hay que transformar estos diccionarios en objetos inmutables y repr() es una de las opciones, otra podria ser Pickle. Si las cadenas json/rpc son muy largas, simpre se pueden acortar en md5: jsonObj = { method: echo, params: [Hello JSON-RPC], id: 1} result = doJsonMethod(jsonObj) hashable = md5.new(cPickle.dumps(jsonObj)).digest() cache[hashable] = result Salud. El 24 de abril de 2011 12:52, Nekmo conta...@nekmo.com escribió: Si usas repr no te va a funcionar. Python no es igual a la sintaxis de Javascript (la cual es JSON). Por ejemplo, mientras que en JSON tienes false, true y null, en Python tienes False, True y None, lo cual te provocará a la hora de trabajar con el pseudo JSON bonitos errores del tipo False no está definida, además de que como tengas algo que no sea un string en la key de un diccionario, a la hora de interpretar el JSON también te petará (en el caso de usar el módulo JSON, te petará al dumpear xD). Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 23 de abril de 2011 14:24, tny a.por...@gmail.com escribió: El lun, 18-04-2011 a las 18:24 +0200, Pepe Aracil escribió: Hola Lista. Tengo que cachear objetos JSON, es decir puedo encontrarme con listas y diccionarios que son mutables y por tanto al no ser hashables no pueden formar parte de las keys de un diccionario. Una idea es pasar todos los objetos mutables (diccionarios y listas) a inmutables (tuplas) mediante una función recursiva. Ejemplo: {method:foo, params:[sota,caballo]} -- ((method,foo), (params,(sota,caballo))) Este sistema se me antoja algo Gastón en cuanto a ciclos CPU El otro método consiste en usar la representación en cadena del objeto usando repr(objeto): repr({method:foo, params:[sota,caballo]}) - '{method:foo, params:[sota,caballo]}' ¿Alguna idea más al respecto? Gracias. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ Voto por repr Y mucho mejor si deribas la clase de los objetos JSON y le añades el metodo hash, de modo que te cree el hash de la representación del json ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Modificando un XML
Te recomiendo echarle un ojo a lxml: http://lxml.de/ tras haber trabajado bastante tiempo en el parseo de XML en Python para XMPP, mi conclusión es es que con diferencia la mejor solución, tanto en facilidad de manejo como en rendimiento. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 20 de abril de 2011 15:57, Francisco Rivas franciscojriv...@gmail.com escribió: Gracias a todos por sus respuestas. 2011/4/20 lasizoillo lasizoi...@gmail.com El día 20 de abril de 2011 15:07, Francisco Rivas franciscojriv...@gmail.com escribió: 2011/4/20 Luis Miguel Morillas moril...@gmail.com El día 20 de abril de 2011 14:30, Francisco Rivas franciscojriv...@gmail.com escribió: Hola *, Quiero hacer un script para modificar un archivo XML por supuesto utilizare ¿por supuesto? Si :P Recuerdo que cuando usaba BeautifulSoup, antes de por supuesto pasarme a otra librería, tenía la extraña costumbre de leer la documentación: http://www.crummy.com/software/BeautifulSoup/documentation.html#Modifying%20the%20Parse%20Tree ¿Tienes algo que no se pueda hacer tal y como indican en la documentación? ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Convertir de mutable a inmutable
en JSON las claves de los diccionarios solo pueden ser strings, y al ser los strings objetos inmutables, no tendrás el problema del que hablas. Por cierto, usa el módulo json, eval es completamente inseguro y nada recomendable. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 18 de abril de 2011 18:24, Pepe Aracil p...@diselpro.com escribió: Hola Lista. Tengo que cachear objetos JSON, es decir puedo encontrarme con listas y diccionarios que son mutables y por tanto al no ser hashables no pueden formar parte de las keys de un diccionario. Una idea es pasar todos los objetos mutables (diccionarios y listas) a inmutables (tuplas) mediante una función recursiva. Ejemplo: {method:foo, params:[sota,caballo]} -- ((method,foo), (params,(sota,caballo))) Este sistema se me antoja algo Gastón en cuanto a ciclos CPU El otro método consiste en usar la representación en cadena del objeto usando repr(objeto): repr({method:foo, params:[sota,caballo]}) - '{method:foo, params:[sota,caballo]}' ¿Alguna idea más al respecto? Gracias. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] CGI - importar clases
Lo que ocurre es que hay que seguir la estructura de proyectos de Python ;-) Si tenemos en nuestro proyecto: / /modulo/ /modulo/__init__.py /modulo/modulo.py /mi_programa.py /otro.py Y estamos importando desde mi_programa.py, el método será el siguiente: Al hacer from . import modulo, estaremos ejecutando __init__.py de /modulo/ Al hacer from . modulo import modulo, estaremos importando el modulo.py Al hacer from . import otro, estaremos importando otro.py Al hacer from . otro import funcion, estaremos importando la función en concreto de otro.py Si estamos en modulo.py, al hacer from .. import otro estaremos importando el de un directorio del nivel inferior en el árbol del proyecto, es decir, otro.py. Y recordad que para poder importar de un directorio, este debe tener un __init__.py ;-) Espero que con estos ejemplos haya quedado claro. Saludos. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 17 de abril de 2011 22:49, Daπid davidmen...@gmail.com escribió: En beneficio de la pedagogía, ¿por qué funciona? ¿Qué diferencia introduce el punto? ¡Gracias! 2011/4/17 Jesús Genicio jgeni...@gmail.com: El día 17 de abril de 2011 04:19, Nekmo conta...@nekmo.com escribió: Prueba con lo siguiente y dinos si te funciona: from . class_manejo_web import manejo_web Perfecto!!! Muchas Gracias. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 16 de abril de 2011 20:21, Jesús Genicio jgeni...@gmail.com escribió: Hola amigo@s: Pregunta de novato :)) Tengo un programa para ejecutar sobre web, el cual tengo dividido en archivos, cada uno con una clase: Y al hacer sobre un archivo de prueba ( /var/www/py/prueba.py) esto: from class_manejo_web import manejo_web estando el archivo class_manejo_web.py en el mismo directorio que prueba.py me da este error: [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] Traceback (most recent call last): [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] File /var/www/py/liquidacion/prueba.py, line 11, in module [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] from class_calculo_prima import calcula_prima [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] ImportError [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] : [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] No module named class_calculo_prima [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] Premature end of script headers: prueba.py Está claro que no encuentra el archivo, ¿dónde o de qué manero lo tengo que declarar, guardar...? S2. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] CGI - importar clases
Prueba con lo siguiente y dinos si te funciona: from . class_manejo_web import manejo_web Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 16 de abril de 2011 20:21, Jesús Genicio jgeni...@gmail.com escribió: Hola amigo@s: Pregunta de novato :)) Tengo un programa para ejecutar sobre web, el cual tengo dividido en archivos, cada uno con una clase: Y al hacer sobre un archivo de prueba ( /var/www/py/prueba.py) esto: from class_manejo_web import manejo_web estando el archivo class_manejo_web.py en el mismo directorio que prueba.py me da este error: [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] Traceback (most recent call last): [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] File /var/www/py/liquidacion/prueba.py, line 11, in module [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] from class_calculo_prima import calcula_prima [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] ImportError [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] : [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] No module named class_calculo_prima [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] Premature end of script headers: prueba.py Está claro que no encuentra el archivo, ¿dónde o de qué manero lo tengo que declarar, guardar...? S2. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lista de Django en español
También hay que tener en cuenta que la comunidad de Django es muchísimo mayor. Tienes muchas webs de apps Django (con las cuales montar una web es como jugar a los lego), bastante documentación y unas bases sólidas. No pretendo hacer spam ni nada parecido... pero es que si queréis recomendar un framework web en Python, creo que lo mejor sería recomendar el que tiene mayor soporte. Además, el comienzo de este hilo era por Django, no sé qué tendrá que ver aquí web2py. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 9 de abril de 2011 21:15, Andrey Antoukh and...@gmail.com escribió: Hola Fernando, Si habras leido los ultimos tres mensajes, te estas metiendo donde no te llaman! Y si pensaras un poquito, verias que tu mensaje esta fuera del tema. Te pondre 2 ejemplos: Estamos en una conferencia de software libre y viene uno de MS y dice, prueba mi Windows 7 aver que tal te parece? Notarias que este comentario seria fuera del tema, el tuyo esta enla misma situacion. Eso se define como SPAM. Si la pregunta fuera algo mas general, sobre plataformas de desarrollo, nadie te diria nada, pero es que la pregunta no fue en ningun momento dirigida a lo que tu escribiste. Y tal como ya han comentado los mensajes anteriores, la comunidad de web2py suele ser muy pesada, sin ser arrogante, tu eres un claro ejemplo. Y mi critica constructiva fue, en vez de dar tanto spam a algo que os gusta tanto, mejorar la documentacion, que creo que es uno de los grandes puntos negros de web2py... y no hara falta hacer spam, la gente leera y probara y lo usara. Yo uso varios fw, y en especial django, y ninguno de esos fw es web2py, y la principal razon, no es que sea malo, es que la documentacion es horrible. Si programara por hobbie, a lo mejor lo probaria, pero no me ariesgaria en ningun momento meterme en un proyecto comercial con web2py. ¿Por que? Mala documentacion, la poca comunidad que me he encontrado solo hace que spamear, en ves de resolver dudas y aportar al proyecto. (No digo que todos sean asi, pero es la impresion que da! Y es algo a mejorar). Solo he mencionado pocos puntos el por que web2py tiene tan mala fama... En fin, este mensaje esta fuera de este hilo, asi que disculpen las molestias. Un saludo. Andrei. El día 9 de abril de 2011 18:01, FERNANDO VILLARROEL fvillarr...@yahoo.com escribió: Hola Andrey. Amigo primero que nada bajate de tu limbo y tu arrogancia. Tampoco es bueno que hables de Web2py como SPAM ya que hasta donde se esta lista es de discusion del lenguaje Python y ambos Django y Web2py estan escritos en el mismo lenguaje por lo que esta lista tampoco es exclusiva de Django. Y por ultimo sabras que el conocimiento es libre. Saludos. --- On Sat, 4/9/11, Andrey Antoukh and...@gmail.com wrote: From: Andrey Antoukh and...@gmail.com Subject: Re: [Python-es] Lista de Django en español To: La lista de python en castellano python-es@python.org Cc: FERNANDO VILLARROEL fvillarr...@yahoo.com Date: Saturday, April 9, 2011, 12:23 PM El 9 de abril de 2011 16:30, FERNANDO VILLARROEL fvillarr...@yahoo.com escribió: Hola Carlos. Por que no le hechas una mirada a Web2py te lo recomiendo, la curva de aprendizaje la veo menos pronunciada que Django, el soporte y la documentación estan muy buenos tambien. www.web2py.com 0_o Discrepo en absoluto con lo de web2py, la documentacion es horriblemente horrible en comparacion a casi cualquier fw..., Pero mas alla de ello, si te cuesta lleer la doc de django, quizas deberias primero aprender a leer la doc, o quizas las dos cosas... :D Disculpen mi arrogancia, pero es que aqui continuamente veo spam de web2py, y en vez de dar tanto spam, haced algo mas oportuno, escribid mejor documentacion, y no hara falta hacer spam para que alguien lo use :D Y hablo de spam, por que cada vez que alguien pregunta por un fw que no sea web2py, siempre hay alguno que mete la nariz donde no le llaman. Andrei. Saludos. --- On Fri, 4/8/11, Carlos Herrera Polo carlos.herrerap...@gmail.com wrote: From: Carlos Herrera Polo carlos.herrerap...@gmail.com Subject: [Python-es] Lista de Django en español To: La lista de python en castellano python-es@python.org Date: Friday, April 8, 2011, 5:19 PM Estimados, disculpen la pregunta, pero estoy desde hace unos dias intentando aprender django pero es algo complicada la instalacion, Si tienen el dato de una lista de usuarios de Django para principiantes les agradeceria. Saludos -Inline Attachment Follows- ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list
Re: [Python-es] trabajo con hilos de ejecución
Algunos ejemplos: http://mundogeek.net/archivos/2008/04/18/threads-en-python/ http://www.wellho.net/solutions/python-python-threads-a-first-example.html Y el manual: http://docs.python.org/library/threading.html Tienes que usar el módulo threading (el módulo thread es a bajo nivel). Esto es lo básico, aunque avisarte que los hilos son todo un mundo... en Python y en cualquier lenguaje. Seguramente tendrás que buscar por tu cuenta para casos más complejos. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 8 de abril de 2011 17:33, Yixander de la Paz Milán ydmi...@estudiantes.uci.cu escribió: Primeramente decir que soy novato programando en python y quisiera saber como ejecutar varios metodos a la vez, es decir de forma concurrente, los mismo se encuentran en diferentes clases. He estado viendo todo el tema acerca de los hilos, por lo que quisiera que si no fuera molestia me mandaran un ejemplo de como hacer esto... saludos ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Copiar varios archivos a carpetas con nombres de los archivos
Ummm... y ahora que lo pienso... ¿no sería mejor que integrasen shutil en el módulo os? Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 5 de abril de 2011 19:47, Daπid davidmen...@gmail.com escribió: A lo mejor con la aplicación final no es necesario, pero shutil es, además, multiplataforma, por lo que te permitiría correr el mismo programa en diversos SO. Ya digo, esto depende de la aplicación final. Si es un script de uso propio, no supone una ventaja específica; pero si es parte de una aplicación mayor que se vaya a distribuir, shutil gana mucho. En todo caso, aprender siempre está bien. 2011/4/5 gerardo Juarez gerardojua...@buyteknet.info: La ventaja de shutil es que ya te hace varias cosas automáticamente: copiar permisos, fechas, etc. Incluso puedes filtrar los archivos que quieres que copie. Yo usaría comandos del sistema si tuviera que hacer algo muy especial con cada archivo, porque esta es definitivamente la opción más flexible, pero depende de lo que necesites. Gerardo Félix Palazuelos Pérez wrote: Tal vez es más apropiado hacerlo con comandos de sistema. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Podcast Z #2: Animalario con lenguajes dinámicos
No tengo nada más que decir a lo que ya han dicho otros: Genial trabajo, y ánimo para que haya muchos más :-) Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 22 de marzo de 2011 02:24, Jesus Cea j...@jcea.es escribió: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Publicidad relevante :) http://podcast.jcea.es/podcastz - -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ j...@jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:j...@jabber.org _/_/ _/_/ _/_/_/_/_/ . _/_/ _/_/ _/_/ _/_/ _/_/ Things are not so easy _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ My name is Dump, Core Dump _/_/_/ _/_/_/ _/_/ _/_/ El amor es poner tu felicidad en la felicidad de otro - Leibniz -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQCVAwUBTYf6WJlgi5GaxT1NAQIYHgP/YCrhOaVwKuVphleoi8HBL7hUMbSq0Amq oROsh7JkRwLn3xxCpOVyps6s+tqLYgXhktsJKpne73qMD9NOW1OibgLIysV7W6ym rMjZ8kbo+CC50Fsr6ybfJulwopruJtIO6jqnGmLj1MVrE75ICnVijkR+HSMNCXze tMi+EreoR5E= =F7uw -END PGP SIGNATURE- ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Duda filosofica
¿Nos preguntas a una lista de Django si usar Django? xD Si te gusta, úsalo... personalmente, aún veo un poco verde Django, y esto lo digo como programador en él, y no sé como andarán las cosas por el lado oscuro... de todas maneras, decir que me las apaño muy bien con lo que hay, y que el gran número de aplicaciones que hay en Django y extensiones, te facilita muchísimo el trabajo, sin tener que volver a inventar la rueda cada vez. Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 23 de marzo de 2011 00:48, gabriel costa devgco...@gmail.com escribió: Buenas, Es la primera vez que escribo en esta lista, espero que no sea la ultima. Soy programador web profesional de .NET, y estoy feliz en mi lado. Pero desde antes incluso de meterme en el mundo de .NET (6 años llevo), ya conocía python y había hecho alguna cosita con el. Ahora, me esta saliendo una propuesta para montar una startup, donde vamos a necesitar buenos servidores, potencia y escalabilidad, por lo que seguramente montemos la startup en la nube, una opción es el Azure de Microsoft, donde haría el desarrollo en .NET, pero otra que me esta llamando muchísimo es el App Engine de google, sobre Python. Y claro, estoy aprendiendo python y django a marchas forzadas, por ahora no me cuesta mucho, no lo domino como .NET pero me voy haciendo a ello, pero aun tengo el miedo del novato, se que se puede hacer en .NET, se los tiempos, se mis tiempos en hacer las cosas, todo esto lo desconozco de python, pero se que python es más rápido, conciso y eficaz, por lo que llevo varios días dandole vueltas a que hacer y no se.. Que opinais? os ha pasado algo asi? que me recomendais? Saludos ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] python
Mi recomendación es siempre usar los módulos de Core cuando sea posible para este tipo de cosas. Python es un lenguaje multiplataforma, y sus aplicaciones también deberían serlo. Por ejemplo, para borrar un archivo: os.remove('Archivo desde el directorio raíz del proyecto') Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 19 de marzo de 2011 22:07, José Luis Torre Hernández joseluistorrehernan...@gmail.com escribió: El 19 de marzo de 2011 21:45, Yixander de la Paz Milán ydmi...@estudiantes.uci.cu escribió: buenas tardes: estoy aprendiendo a programar en python y necesito saber si existe alguna función que nos brinde el espacio usado por las diferentes particiones, espacio usado, disponible, espacio libre, etc. gracias ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ Hola Yixander: Puedes importar el módulo os y luego utilizar el método system proporcionando la órden del sistema operativo que proporcione lo que deseas; por ej: import os os.system( 'ls -lR') os.system( 'du -h') os.system( 'vi prueba.txt') y de este modo puedes acceder a todas las órdenes que te interesen desde tu propia aplicación. Saludos José Luis ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] parsear HTML
Tienes un módulo con Python llamado así, HTMLParser. A mí personalmente no me gusta demasiado, y no mantiene el árbol como debería... pero para lo que quieres puede valerte. Hay un módulo que me encanta (no está en Core) llamado lxml que también soporta HTML. Te recomiendo echarle un ojo ;-) Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo El día 2 de marzo de 2011 15:23, (P@vel) pdlo...@uci.cu escribió: Como puedo de un archivo html cojer todas las etiquetas tr/tr que tengan un td/td que se llame cuentos infantiles por ejemplo, y guardar el valor que tenga los demas td de ese tr, es decir cojer los valores de todas las columnas de esa fila, por ejemplo: cenicienta, 25.00 tr align=RIGHT bgcolor=#ff td nowrap=nowrap align=centerCuentos Infantiles/td tdfont color=#008000Cenicienta/font/td tdfont color=#00800025.00/font/td /tr ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] parsear HTML
Yo con lxml suelo usar una funcionalidad que me permite filtrar usando CSS, lo cual me es una pasada :D Además tienes lxml tanto en Python3 como en 2.x Un cordial saludo: -- Nekmo. Sitio web: http://nekmo.com Dirección de contacto: conta...@nekmo.com XMPP/Jabber: conta...@nekmo.com Identi.ca: http://identi.ca/nekmo Diaspora: Nekmo 2011/3/2 Luis Miguel Morillas moril...@gmail.com: El día 2 de marzo de 2011 15:23, (P@vel) pdlo...@uci.cu escribió: Como puedo de un archivo html cojer todas las etiquetas tr/tr que tengan un td/td que se llame cuentos infantiles por ejemplo, y guardar el valor que tenga los demas td de ese tr, es decir cojer los valores de todas las columnas de esa fila, por ejemplo: cenicienta, 25.00 tr align=RIGHT bgcolor=#ff td nowrap=nowrap align=centerCuentos Infantiles/td tdfont color=#008000Cenicienta/font/td tdfont color=#00800025.00/font/td /tr Yo lo hago así usando una expresión xpath con amara: from amara.bindery import html doc = html.parse(url_de_la_web) cuentos = doc.xml_select(u'//tr[td=Cuentos Infantiles]') # nodos html for cuento in cuentos: cuento.xml_encode() # sólo contenido for cuento in cuentos: for datos in cuento.xml_children: print datos, Si quieres probar amara sin instalar, he creado un amaraPortable para windows: https://bitbucket.org/lmorillas/amaraportable/downloads/AmaraPortable.exe Saludos, -- luismiguel ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/