From chemacortes en wanadoo.es Fri Mar 1 22:03:39 2002 From: chemacortes en wanadoo.es (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 1 Mar 2002 22:03:39 +0100 Subject: Sobre unicodes (era Re: ) In-Reply-To: References: Message-ID: <200203012103.g21L3e305562@bosbovum.ch3m4.org> El Jue 28 Feb 2002 16:15, Hernan Martinez Foffani escribió: > Entiendo que además de modificar el archivo site.py cambiando el encoding > y activando el bloque de código que le sigue (Ver FAQ 4.102), todas tus > constantes deberían incluir la u delante. Ej: > > >>> print u"ñ".isalpha() > > 1 Tienes razón. La variable 'encoding' sólo tiene utilidad para indicar el conjunto de caracteres que se utilizará para codificar los unicodes. Siempre se puede indicar explícitamente el encoding' usando la función unicode() En cuanto a activar el bloque que dice el FAQ, tiene relación con el fallo del módulo 'locale' que también comentaba. En Europa hemos cambiado de moneda...y de codificación de caracteres. En lugar del latin1 (iso8859-1) estamos usando el latin0 (iso8859-15). La única diferencia entre ambas codificaciones es que el iso8859-15 incluye el símbolo del Euro y el céntimo de Euro. A la codificación de locales que tiene el sistema se le ha añadido la coletilla '@euro' (pe: 'es_ES en euro' en España). Esta coletilla hace que el módulo locale no reconozca la configuración del sistema y no sea capaz de encontrar la codificación de caracteres por defecto que debería usar. De todos modos, siempre se puede forzar la codificación: import locale locale.setlocale(locale.LC_ALL,("es_ES en euro","iso8859-15")) > En cuanto a que todas las cadenas de caracteres se consideren bajo una > determinada codificación Unicode, creo que eso se hará cuando se > implemente el PEP 263. http://python.sourceforge.net/peps/pep-0263.html Si, es lógico que se precise este PEP. De todos modos no creo que hiciera falta esperar a que se implementara para que hubiera algún modo de configurar el entorno de modo que todas las cadenas se trataran como unicodes. El problema actual es que no es fiable el uso de ciertas utilidades cuando la codificación de una cadena no está en unicode (pe: isalpha, islower,...). Saludos, -- Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 7.3 ZARALINUX http://www.zaralinux.org | "La ignorancia se apodera de quien PYTANDO http://pytando.sf.net | se contenta con lo que sabe" From kmilo en softhome.net Mon Mar 4 20:05:41 2002 From: kmilo en softhome.net (kmilo) Date: Mon, 4 Mar 2002 14:05:41 -0500 Subject: paralelismo Message-ID: <000a01c1c3af$9b7c6b00$2139a741@n2y1t1> hay algo en python, que trabaje con paralelismo ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rapto en arrakis.es Mon Mar 4 21:14:52 2002 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: 04 Mar 2002 21:14:52 +0100 Subject: paralelismo In-Reply-To: <000a01c1c3af$9b7c6b00$2139a741@n2y1t1> References: <000a01c1c3af$9b7c6b00$2139a741@n2y1t1> Message-ID: <1015272892.1582.21.camel@renata.macondo.pri> Si entiendo bien, te refieres a MPI y similares A bote pronto, http://www.fysik.dtu.dk/~schiotz/comp/PythonAndSwig/pythonMPI.html Hay un pryecto en sourceforge, pero parece planchado http://pympi.sourceforge.net/ Para PVM http://pypvm.sourceforge.net/ Ya nos contarás qué te traes entre manos El lun, 04-03-2002 a las 20:05, kmilo escribió: > hay algo en python, que trabaje con paralelismo > From jaime en iaa.es Tue Mar 5 09:49:14 2002 From: jaime en iaa.es (Jaime D. Perea Duarte) Date: Tue, 5 Mar 2002 09:49:14 +0100 Subject: paralelismo In-Reply-To: <1015272892.1582.21.camel@renata.macondo.pri> References: <000a01c1c3af$9b7c6b00$2139a741@n2y1t1> <1015272892.1582.21.camel@renata.macondo.pri> Message-ID: <200203050849.JAA15499@iaa13u.iaa.csic.es> On Mon 04 Mar 2002 21:14, Marcos Sánchez Provencio wrote: > Si entiendo bien, te refieres a MPI y similares > > A bote pronto, > http://www.fysik.dtu.dk/~schiotz/comp/PythonAndSwig/pythonMPI.html > > Hay un pryecto en sourceforge, pero parece planchado > http://pympi.sourceforge.net/ > > Para PVM > > http://pypvm.sourceforge.net/ > > Ya nos contarás qué te traes entre manos > > El lun, 04-03-2002 a las 20:05, kmilo escribió: > > hay algo en python, que trabaje con paralelismo Yo agregaría los global arrays http://www.emsl.pnl.gov:2080/proj/tms/hpcc_actinides/pyGA/ Y también el módulo cow del scientific python http://www.scipy.org Aparte de lo que se puede programar sencillamante bajo mosix y fork :-) tocando /proc/mosix/self Saludos -- Jaime D. Perea Duarte. jaime en iaa.es Linux registered user #10472 Dep. Astrofisica Extragalactica. Instituto de Astrofisica de Andalucia (CSIC) Apdo. 3004, 18080 Granada, Spain. From jorge_ayora en hotmail.com Tue Mar 5 20:35:42 2002 From: jorge_ayora en hotmail.com (Jorge Ayora) Date: Tue, 05 Mar 2002 20:35:42 +0100 Subject: =?iso-8859-1?B?Q29tcGlsYXIgY/NkaWdvIHB5dGhvbg==?= Message-ID: ¿Cómo se puede compilar código fuente python? Se supone que irá más rápido, no?? _________________________________________________________________ Descargue GRATUITAMENTE MSN Explorer en http://explorer.yupimsn.com/intl.asp From juanjux en yahoo.es Wed Mar 6 00:47:30 2002 From: juanjux en yahoo.es (Juanjo Alvarez) Date: Wed, 6 Mar 2002 00:47:30 +0100 Subject: Compilar =?iso-8859-1?Q?c?= =?iso-8859-1?Q?=F3digo?= python In-Reply-To: References: Message-ID: <20020306004730.A504@pascual.mired> On Tue, Mar 05, 2002 at 08:35:42PM +0100, Jorge Ayora wrote: > ¿Cómo se puede compilar código fuente python? > Se supone que irá más rápido, no?? Sí, iría más rápido... si existiera un compilador completo, pero de momento no lo hay. Existen aproximaciones pero de momento bastante incompletas (tiempo...) porque es muy dificil compilar Python por su carácter intrínsecamente dinámico. De todas formas, la mejor manera de optimizar Python es ejecutar tu programa con el modulo profiler (mira la docu al respecto en la librería estándar), ver que partes, funciones o métodos se comen la mayor parte del tiempo de proceso (sección/secciones críticas) y aplicar algunas optimizaciones sencillas a ellas, como por ejemplo hacer alias a nombres de metodos, variables de clase o funciones de otros módulos en el espacio de nombres local. Por ejemplo: ------------------------------------------------------------------------------- def metodo_comecpu(self,tarari...): variable_que_se_usara_en_la_secc_critica = self.variable_que_se_usara_en_la_secc_critica metodo_q_se_usara_en_la_seccion_critica = self.metodo_q_s_usara_en_la_secc_critica func_q_s_usara_en_la_secc_critica = otromodulo.func_q_s_usara_en_la_secc_critica # Sección crítica aquí ... # Fin de sección crítica -------------------------------------------------------------------------------- Con esto yo he conseguido incrementos de velocidad del 100% y mayores en mis programas, lo importante es saber donde se va el 90% de la CPU y optimizar profundamente allí. Aparte de eso, hay más opciones para optimizar partes del código muy intensivas en CPU. Una (la más tradicional) es reescribir esa parte en C o C++ y crear un módulo que pueda acceder a ese .objeto C o C++. Tiene la desventaja de que te tienes que empollar el API de Python para C, aunque de todas formas existen librerías que generan la interfaz a Python de forma automática o simiautomática para C o C++. En mi opinión la mejor, más potente y más fácil de usar es la libboost-python, aunque sólo sirve para C++, pero realiza un mapeado casi casi directo entre las clases y funciones C++ a clases y funciones C sin escribir prácticamente código de interfaz, y luego los objetos C++ incluso puedes heredarse y reescribirse algunos métodos desde Python (algo que creo que ninguna de las otras soluciones permite). Por último otra forma de combinar C con Python es utilizar el modulo PyInline (sorry, ahora mismo no tengo la URL ni puedo mirarlo, mira en Google) que te permite meter código C directamente dentro de código Python y generar funciones en C que luego puedas utilizar normalmente desde el resto del código Python. Esta solución me parece perfecta para pequeños fragmentos de código que hay que optimizar mucho (funciones que realizar cálculos matemáticos intensos o movidillas gráficas). Saludos, Juanjo From chemacortes en wanadoo.es Wed Mar 6 10:00:56 2002 From: chemacortes en wanadoo.es (Chema Cortes) Date: Wed, 6 Mar 2002 10:00:56 +0100 Subject: =?iso-8859-1?q?Re=3A=5Bpython=2Des=5D_Compilar_c=F3digo_python?= Message-ID: > ¿Cómo se puede compilar código fuente python? > Se supone que irá más rápido, no?? A parte de la estupenda explicación de Juanjo, hay que aclarar que cuando se habla en python de compilar, se refiere a compilar a bytecode, que luego la máquina virtual (PVM, JVM, .Net) ejecutará. No suele ser necesario compilar un fuente de python, puesto que al ejecutarse el código se compila automáticamente. Son esos ficheros con extensión .pyc que puedes encontrar en tu instalación. En sistemas multiusuario es recomendable tener ya compilados estos ficheros para evitar problemas con los permisos de ficheros. Para ello se dispone de los módulos "py_compile" y "compileall". El módulo compileall se puede invocar directamente desde la línea de comandos. Por ejemplo, para compilar todos los ficheros de un directorio y subdirectorios sería: python /ruta/a/compileall.py /ruta/directorio Para que vaya más rápido, puedes invocar el intérprete de python en modo optimizador (opción -O). En este modo los ficheros compilados tienen la extensión .pyo . Así, por ejemplo, para compilar un directorio con optimización sería: python -O /ruta/a/compileall.py /ruta/directorio Saludos, -- Chema Cortes (chemacortes en wanadoo.es) Linux User #142755 - SuSE Linux 7.3 ZARALINUX http://www.zaralinux.org _____________________________________________________________________ !REGALO GRATIS sólo por participar¡ Gana un premio seguro y exóticos viajes participando en el Rallye Wanadoo en http://www.wanadoo.es/animacion/rallye From chemacortes en wanadoo.es Wed Mar 6 10:00:58 2002 From: chemacortes en wanadoo.es (Chema Cortes) Date: Wed, 6 Mar 2002 10:00:58 +0100 Subject: =?iso-8859-1?q?Re=3A=5Bpython=2Des=5D_Compilar_c=F3digo_python?= Message-ID: > ¿Cómo se puede compilar código fuente python? > Se supone que irá más rápido, no?? A parte de la estupenda explicación de Juanjo, hay que aclarar que cuando se habla en python de compilar, se refiere a compilar a bytecode, que luego la máquina virtual (PVM, JVM, .Net) ejecutará. No suele ser necesario compilar un fuente de python, puesto que al ejecutarse el código se compila automáticamente. Son esos ficheros con extensión .pyc que puedes encontrar en tu instalación. En sistemas multiusuario es recomendable tener ya compilados estos ficheros para evitar problemas con los permisos de ficheros. Para ello se dispone de los módulos "py_compile" y "compileall". El módulo compileall se puede invocar directamente desde la línea de comandos. Por ejemplo, para compilar todos los ficheros de un directorio y subdirectorios sería: python /ruta/a/compileall.py /ruta/directorio Para que vaya más rápido, puedes invocar el intérprete de python en modo optimizador (opción -O). En este modo los ficheros compilados tienen la extensión .pyo . Así, por ejemplo, para compilar un directorio con optimización sería: python -O /ruta/a/compileall.py /ruta/directorio Saludos, -- Chema Cortes (chemacortes en wanadoo.es) Linux User #142755 - SuSE Linux 7.3 ZARALINUX http://www.zaralinux.org _____________________________________________________________________ !REGALO GRATIS sólo por participar¡ Gana un premio seguro y exóticos viajes participando en el Rallye Wanadoo en http://www.wanadoo.es/animacion/rallye From rapto en arrakis.es Thu Mar 7 20:15:33 2002 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Thu, 07 Mar 2002 20:15:33 +0100 Subject: Oferta de trabajo Message-ID: <3C87BC55.1040400@arrakis.es> Estoy buscando desarrolladores con experiencia en Python, Zope o similares para transformación de datos meteorológicos crudos en productos distribuibles a clientes: PDF, HTML, etc. El lugar de trabajo es Madrid. Si hay algún interesado, me puede enviar CV a rapto en arrakis.es, con el asunto CV. Saludos From floro en aditel.org Wed Mar 13 15:03:39 2002 From: floro en aditel.org (=?ISO-8859-1?Q?Pedro_Floro_Garc=EDa?=) Date: Wed, 13 Mar 2002 15:03:39 +0100 (CET) Subject: Sockets Message-ID: Hola, Quiero hacer alguna aplicacion y necesito sockets, y he mirado en la web de Python y no me aclaro mucho, bueno, casi nada. Alguien me puede aclarar un poco? Gracias. From chemacortes en wanadoo.es Wed Mar 13 10:54:35 2002 From: chemacortes en wanadoo.es (Chema Cortes) Date: Wed, 13 Mar 2002 9:54:35 -0000 Subject: Sockets Message-ID: <200203131458.g2DEwBU19120@spisa.act.uji.es> ¿Dónde tienes el problema, con los sockets, o con su utilización con python? Tienes un howto en http://py-howto.sourceforge.net/sockets/sockets.html Si vas a usar un servicio estándar de internet, es más sencillo utilizar el 'urllib' ó incluso algunos de los módulos especializados ftplib, httplib, poplib, nntplib,... Son tan sencillos de utilizar como los ficheros. Consulta el capítulo 11 del manual de referencia de la librería estándar, donde te habla de los protocolos de internet. Saludos, Chema Cortés --------- Original message -------- From: Pedro Floro García To: python-es en aditel.org Subject: [Python-es] Sockets Date: 03-13-02 15:02 > Hola, Quiero hacer alguna aplicacion y necesito sockets, y he mirado en la web de Python y no me aclaro mucho, bueno, casi nada. Alguien me puede aclarar un poco? Gracias. From xxx en orgmf.com.ar Wed Mar 13 15:16:31 2002 From: xxx en orgmf.com.ar (Hernan Martinez Foffani) Date: Wed, 13 Mar 2002 15:16:31 +0100 Subject: Sockets In-Reply-To: References: Message-ID: > Quiero hacer alguna aplicacion y necesito sockets, y he mirado en > la web de Python y no me aclaro mucho, bueno, casi nada. Alguien > me puede aclarar un poco? si no lo viste, http://py-howto.sourceforge.net/sockets/sockets.html puede servirte de ayuda. -Hernan From chemacortes en wanadoo.es Sat Mar 16 18:18:08 2002 From: chemacortes en wanadoo.es (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Sat, 16 Mar 2002 18:18:08 +0100 Subject: Redireccionar el stdout Message-ID: <200203161718.g2GHI9R02360@bosbovum.ch3m4.org> Hola a todos: Tengo código python en una cadena de texto y quiero capturar la salida de la ejecución. Con el código en fichero existen funciones que te dan la salida para que la puedas procesar, pero no he encontrado una similar para cuando tienes el código en una cadena. Sólo se me ocurre utilizar una clase para sustituir el sys.stdout durante la ejecución de la cadena: import sys class Output: def __init__(self): self.text="" def write(self,str): self.text+=str glob={} codigo=""" print "Hola Mundo" """ s=Output() save_stdout=sys.stdout sys.stdout=s exec(codigo,glob) sys.stdout=save_stdout print s.text Me parece que me estoy complicando demasiado, ¿existe alguna otra forma más sencilla o voy por el camino correcto? Saludos, -- Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 7.3 ZARALINUX http://www.zaralinux.org | "La ignorancia se apodera de quien PYTANDO http://pytando.sf.net | se contenta con lo que sabe" From fcallejo en arrakis.es Sat Mar 16 19:44:54 2002 From: fcallejo en arrakis.es (Francisco Callejo) Date: Sat, 16 Mar 2002 19:44:54 +0100 Subject: [Python-es] Redireccionar el stdout In-Reply-To: <200203161718.g2GHI9R02360@bosbovum.ch3m4.org> References: <200203161718.g2GHI9R02360@bosbovum.ch3m4.org> Message-ID: <20020316184454.GA3012@alcotan> El sábado, 16 de marzo de 2002, Chema Cortés escribió: > Hola a todos: > > Tengo código python en una cadena de texto y quiero capturar la salida de la > ejecución. Con el código en fichero existen funciones que te dan la salida > para que la puedas procesar, pero no he encontrado una similar para cuando > tienes el código en una cadena. > > http://listas.aditel.org/listinfo.py/python-es Prueba con el módulo StringIO, que define la clase StringIO, que viene a ser como una cadena con métodos de fichero. -- Francisco Callejo Giménez fcallejo en arrakis.es Linux registered user #53999 From rapto en arrakis.es Sun Mar 17 09:10:11 2002 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: 17 Mar 2002 09:10:11 +0100 Subject: [Python-es] Redireccionar el stdout In-Reply-To: <200203161718.g2GHI9R02360@bosbovum.ch3m4.org> References: <200203161718.g2GHI9R02360@bosbovum.ch3m4.org> Message-ID: <1016352611.1338.21.camel@renata.macondo.pri> No es para ayudar, es para liarlo más. ¿Por qué no funciona esto? #################################### import sys class Output: def __init__(self): self.text="" def write(self,str): self.text+=str class sysTrucada: def __init__(self): self.stdout=Output() codigo=""" print "Hola Mundo" print sys.stdout """ s=sysTrucada() exec codigo in {'sys':s} print ">>>>",s.stdout.text El sáb, 16-03-2002 a las 18:18, Chema Cortés escribió: > Hola a todos: > > Tengo código python en una cadena de texto y quiero capturar la salida de la > ejecución. Con el código en fichero existen funciones que te dan la salida > para que la puedas procesar, pero no he encontrado una similar para cuando > tienes el código en una cadena. > > Sólo se me ocurre utilizar una clase para sustituir el sys.stdout durante la > ejecución de la cadena: > > import sys > > class Output: > def __init__(self): > self.text="" > > def write(self,str): > self.text+=str > > glob={} > codigo=""" > print "Hola Mundo" > """ > > s=Output() > save_stdout=sys.stdout > sys.stdout=s > > exec(codigo,glob) > > sys.stdout=save_stdout > > print s.text > > > Me parece que me estoy complicando demasiado, ¿existe alguna otra forma más > sencilla o voy por el camino correcto? > > > Saludos, > -- From fcallejo en arrakis.es Sun Mar 17 13:41:52 2002 From: fcallejo en arrakis.es (Francisco Callejo) Date: Sun, 17 Mar 2002 13:41:52 +0100 Subject: Redireccionar el stdout In-Reply-To: <1016352611.1338.21.camel@renata.macondo.pri> References: <200203161718.g2GHI9R02360@bosbovum.ch3m4.org> <1016352611.1338.21.camel@renata.macondo.pri> Message-ID: <20020317124151.GA688@alcotan> El domingo, 17 de marzo de 2002, Marcos Sánchez Provencio escribió: > No es para ayudar, es para liarlo más. > ¿Por qué no funciona esto? > #################################### > import sys > > class Output: > def __init__(self): > self.text="" > > def write(self,str): > self.text+=str > > class sysTrucada: > def __init__(self): > self.stdout=Output() > > > codigo=""" > print "Hola Mundo" > print sys.stdout > """ > > s=sysTrucada() > > exec codigo in {'sys':s} > > print ">>>>",s.stdout.text > Pues no lo sé, pero si sustituyes la variable `codigo' así, sí funciona: codigo=""" sys.stdout.write("Hola Mundo\n") sys.stdout.write(str(sys.stdout) + "\n") """ Supongo que el funcionamiento de `print' no es simplemente escribir en sys.stdout. -- Francisco Callejo Giménez fcallejo en arrakis.es Linux registered user #53999 From chemacortes en wanadoo.es Sun Mar 17 17:48:24 2002 From: chemacortes en wanadoo.es (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Sun, 17 Mar 2002 17:48:24 +0100 Subject: [Python-es] Redireccionar el stdout In-Reply-To: <20020316184454.GA3012@alcotan> References: <200203161718.g2GHI9R02360@bosbovum.ch3m4.org> <20020316184454.GA3012@alcotan> Message-ID: <200203171648.g2HGmPc02725@bosbovum.ch3m4.org> El Sáb 16 Mar 2002 19:44, Francisco Callejo escribió: > Prueba con el módulo StringIO, que define la clase StringIO, que viene a > ser como una cadena con métodos de fichero. Perfecto. También he visto que no hace falta guardar los streams (stdout,stdin,stderr) ya que el propio módulo sys guarda los valores originales. Con todo esto, el código quedaría así de elegante: ##################################### import sys import StringIO glob={} codigo=""" print "Hola Mundo" """ sOut=StringIO.StringIO() # crea buffer en memoria sys.stdout=sOut exec(codigo,glob) sys.stdout=sys.__stdout__ print sOut.getvalue() sOut.close() # Libera el buffer de memoria ###################################### Saludos, -- Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 7.3 ZARALINUX http://www.zaralinux.org | "La ignorancia se apodera de quien PYTANDO http://pytando.sf.net | se contenta con lo que sabe" From chemacortes en wanadoo.es Sun Mar 17 17:25:47 2002 From: chemacortes en wanadoo.es (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Sun, 17 Mar 2002 17:25:47 +0100 Subject: [Python-es] Redireccionar el stdout In-Reply-To: <1016352611.1338.21.camel@renata.macondo.pri> References: <200203161718.g2GHI9R02360@bosbovum.ch3m4.org> <1016352611.1338.21.camel@renata.macondo.pri> Message-ID: <200203171625.g2HGPm002647@bosbovum.ch3m4.org> Hola, Marcos Sánchez Provencio: En respuesta a tu mensaje del Dom 17 Mar 2002 09:10: > No es para ayudar, es para liarlo más. > ¿Por qué no funciona esto? > #################################### > import sys > > class Output: > def __init__(self): > self.text="" > > def write(self,str): > self.text+=str > > class sysTrucada: > def __init__(self): > self.stdout=Output() > > codigo=""" > print "Hola Mundo" > print sys.stdout > """ > > s=sysTrucada() > > exec codigo in {'sys':s} > > print ">>>>",s.stdout.text Me voy a arriesgar a dar una hipótesis: tu código y el comando print no comparten la misma definición del nombre 'sys'. El comando 'print' utiliza el módulo intrínseco 'sys', al que tú código también puede acceder mediante un "import sys". Por lo que veo, es imposible suplir a un módulo intrínseco. Prueba a crearte un módulo con el nombre "sys.py" e intenta importarlo. Saludos, -- Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 7.3 ZARALINUX http://www.zaralinux.org | "La ignorancia se apodera de quien PYTANDO http://pytando.sf.net | se contenta con lo que sabe" From chemacortes en wanadoo.es Wed Mar 20 09:03:14 2002 From: chemacortes en wanadoo.es (Chema Cortes) Date: Wed, 20 Mar 2002 8:03:14 -0000 Subject: [Python-es] (sin asunto) Message-ID: <200203201307.g2KD7lU00708@spisa.act.uji.es> Hola a todos: Los días 26, 27 y 28 de Junio se celebra en Charleroi, Bélgica, el EuroPython 2002. En la web oficial, www.europython.org, no aparece cuál será el programa de eventos. Lo único que anuncian es que asistirá Guido. Estaba planteándome acudir a ver de qué van estas movidas. ¿Álguien ha asistido a alguna de estas conferencias anteriormente? Me interesaría saber algo más para decidirme. Sobre todo me interesaría saber si serán todas las conferencias en inglés y si cuentan con traducción simultánea. ¿Hay alguien más que esté pensando en ir? Saludos, Chema From alvaro en godsmaze.org Thu Mar 21 01:47:26 2002 From: alvaro en godsmaze.org (Alvaro =?ISO-8859-1?Q?L=F3pez?= Ortega) Date: 21 Mar 2002 01:47:26 +0100 Subject: (sin asunto) In-Reply-To: <200203201307.g2KD7lU00708@spisa.act.uji.es> References: <200203201307.g2KD7lU00708@spisa.act.uji.es> Message-ID: <1016671646.10652.90.camel@tesoro> On Wed, 2002-03-20 at 09:03, Chema Cortes wrote: > Estaba planteándome acudir a ver de qué van estas movidas. ¿Álguien ha > asistido a alguna de estas conferencias anteriormente? Me interesaría saber > algo más para decidirme. Sobre todo me interesaría saber si serán todas las > conferencias en inglés y si cuentan con traducción simultánea. Son en ingles y no hay traducción que valga. ';-) -- Greetings, alo. From chemacortes en wanadoo.es Tue Mar 26 14:04:04 2002 From: chemacortes en wanadoo.es (Chema Cortes) Date: Tue, 26 Mar 2002 13:04:04 -0000 Subject: Editores para python Message-ID: <200203261804.g2QI4pU31614@spisa.act.uji.es> Después de resistirme todo lo que he podido estos años, al final he sucumbido al x/emacs (Xemacs y emacs). Para programar python solía usar SciTE; pero como empezé a usar x/emacs para editar XML, resultó inevitable entrar en contacto con el "python-mode". He intentado configurar tanto el SciTE como el x/emacs así como otros editores, pero todavía hay algunas cosas que no consigo hacer. Son las siguientes, a ver si hay alguien que haya sabido arreglarlas: - "Reglas de estilo" (http://www.python.org/doc/essays/styleguide.html): Fallan, entre los que he probado, SciTE, vim y nedit. Lo hacen bien emacs (python-mode) y los basados en IDLE (eg: pythonwin) - Autocompletado y ayudas de las llamadas a la api de python: Lo hacen parcialmente los basados en IDLE, pero sin duda detaca el SciTE y su generador de ficheros con la API de python http://stud4.tuwien.ac.at/~e9326522/gen_python_api.zip . El x/emacs tiene autocompletado rudimentario, del que todavía no he descubierto alguna facilidad que me genere el fichero con la API como hace el SciTE. - Depurado El x/emacs puede invocar al pdb (python debugger), controlando la sesión mediante comandos. Pythonwin tiene un sistema de depurado gráfico, muy sencillo de utilizar. - Visor de la jerarquía de clases Lo tienen los basados en IDLE (eg: pythonwin, de nuevo). X/Emacs tiene un menú con la estructura del fichero editado. Como conclusión, podría decirse que mi editor favorito sería el PythonWin. Lo malo es que no hay versión para Linux, que es el sistema que utilizo habitualmente. Lo más parecido que he encontrado sería el Komodo de la empresa ActiveState, y puede que algunos de los otros sistemas de desarrollo comerciales que todavía no he probado. En linux estaría el SciTE. Le faltaría mejorar el "estilo python", un visor de clases, y alguna facilidad para depuración. A parte de esto, es el más recomendable para los que quieran algo sencillo con lo que empezar a hacer pruebas. El x/emacs es un entorno mucho más profesional, quizás demasiado complicado. Se puede configurar mediante scripts, generalmente en elips. El IDLE, construido en Tkinter y presente en toda instalación del python, es algo lento y no posee facilidades de depuración. Siempre es una elección si no se tiene otra cosa. He probado muchos otros editores, pero tan sólo tienen resalte de sintaxis en color y poco más. Como curiosidad, el vim permite empotrarle el intérprete de python para así realizar macros en python, aunque sigo sin ver clara la ventaja de ésto. En fin, ya perdonaréis el rollo, pero me encuentro un poco agotado de mirar tanto editor para seguir con la impresión de no haber encontrado todavía uno a mi gusto. ¿Hay álguien que haya solucionado algunas de las pegas que he puesto más arriba? Saludos, Chema Cortés From alvaro en godsmaze.org Wed Mar 27 11:35:57 2002 From: alvaro en godsmaze.org (Alvaro =?ISO-8859-1?Q?L=F3pez?= Ortega) Date: 27 Mar 2002 11:35:57 +0100 Subject: Editores para python In-Reply-To: <200203261804.g2QI4pU31614@spisa.act.uji.es> References: <200203261804.g2QI4pU31614@spisa.act.uji.es> Message-ID: <1017225357.2429.29.camel@tesoro> On Tue, 2002-03-26 at 14:04, Chema Cortes wrote: > Después de resistirme todo lo que he podido estos años, al final he > sucumbido al x/emacs (Xemacs y emacs). > ... > El x/emacs es un entorno mucho más profesional, quizás demasiado complicado. > Se puede configurar mediante scripts, generalmente en elips. Yo soy uno de los usuarios convencidos de Emacs :) Aunqur creo que jamas me pondré a escribir ELisp O:-) > En fin, ya perdonaréis el rollo, pero me encuentro un poco agotado de mirar > tanto editor para seguir con la impresión de no haber encontrado todavía uno > a mi gusto. ¿Hay álguien que haya solucionado algunas de las pegas que he > puesto más arriba? ¿Has probado Anjuta 2? Es el nuevo editor (ya casi más RAD) de GNOME 2.0. De momento esta en desarrollo (es la unión de varios proyectos exitentes anteriormente: gIDE y Anjuta). Quiza sea el momento perfecto para hackear un poco de código.. o proponer la implementación de algunas de las características que comentas en el mensaje, no? :-) -- Greetings, alo. From ajpv en alu.ua.es Wed Mar 27 18:48:30 2002 From: ajpv en alu.ua.es (ajpv en alu.ua.es) Date: Wed, 27 Mar 2002 18:48:30 +0100 Subject: Un lanzador en python Message-ID: <200203271748.SAA21178@mail.alu.ua.es> Buenas, primero de nada presentarme (es mi primer mensaje). Mi nombre es Arturo. La pregunta es porque estoy haciendo un programa en C++ que ha de realizar una serie de calculos y mostrarlos por pantalla, etc... y para ello el usuario necesita selecciona una seria de opciones antes. He intentado embeber una aplicacion de python en este programa en C++, pero falla al ejecutar. FILE * f; f = fopen("prog.py", "r"); Py_Initialize(); PyRun_SimpleFile(f, "log.txt"); Py_Finalize(); en un principio solo hago esto. Lo que pasa es que no es capaz de ejecutar la llamada a PyRun_SimpleFile();. ¿Sera por usar Tkinter? Solo puedo usar python embebido si es para funciones con tipos de datos propios de python. Es la primera vez que intento esto de mezclar python y C++ y no se muy bien por donde voy. Gracias Saludos - Arturo From chemacortes en wanadoo.es Thu Mar 28 00:45:20 2002 From: chemacortes en wanadoo.es (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 28 Mar 2002 00:45:20 +0100 Subject: [Python-es] Editores para python In-Reply-To: <1017225357.2429.29.camel@tesoro> References: <200203261804.g2QI4pU31614@spisa.act.uji.es> <1017225357.2429.29.camel@tesoro> Message-ID: <200203272345.g2RNjMt05094@bosbovum.ch3m4.org> Hola, Alvaro López Ortega: En respuesta a tu mensaje del Mié 27 Mar 2002 11:35: > Yo soy uno de los usuarios convencidos de Emacs :) > Aunqur creo que jamas me pondré a escribir ELisp O:-) Yo acabo de "convecerme" ;-) Si no quieres aprender elisp, siempre le puedes poner el pymacs y programar el emacs en python: http://www.iro.umontreal.ca/~pinard/pymacs/pymacs.tar.gz > ¿Has probado Anjuta 2? > Es el nuevo editor (ya casi más RAD) de GNOME 2.0. De momento esta en > desarrollo (es la unión de varios proyectos exitentes anteriormente: > gIDE y Anjuta). Quiza sea el momento perfecto para hackear un poco de > código.. o proponer la implementación de algunas de las características > que comentas en el mensaje, no? :-) Si que lo he probado, y voy siguiendo sus mejoras. Hasta ahora me ha parecido demasiado centrado en C/C++. Esto no es una pega; pero tendrán que competir duro con el KDevelop, y lo que yo pediría (mejorar el editor) se debería dejar para más adelante. Desde luego yo no tengo tiempo para "hackear" el código. Saludos, -- Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 7.3 ZARALINUX http://www.zaralinux.org | "La ignorancia se apodera de quien PYTANDO http://pytando.sf.net | se contenta con lo que sabe" From alvaro en godsmaze.org Thu Mar 28 00:53:04 2002 From: alvaro en godsmaze.org (Alvaro =?ISO-8859-1?Q?L=F3pez?= Ortega) Date: 28 Mar 2002 00:53:04 +0100 Subject: [Python-es] Un lanzador en python In-Reply-To: <200203271748.SAA21178@mail.alu.ua.es> References: <200203271748.SAA21178@mail.alu.ua.es> Message-ID: <1017273184.2526.49.camel@tesoro> On Wed, 2002-03-27 at 18:48, ajpv en alu.ua.es wrote: > La pregunta es porque estoy haciendo un programa en C++ que ha de > realizar una serie de calculos y mostrarlos por pantalla, etc... y > para ello el usuario necesita selecciona una seria de opciones antes. > He intentado embeber una aplicacion de python en este programa en > C++, pero falla al ejecutar. > > FILE * f; > f = fopen("prog.py", "r"); > Py_Initialize(); > PyRun_SimpleFile(f, "log.txt"); > Py_Finalize(); > > en un principio solo hago esto. Lo que pasa es que no es capaz de > ejecutar la llamada a PyRun_SimpleFile();. ¿Sera por usar Tkinter? > Solo puedo usar python embebido si es para funciones con tipos de > datos propios de python. > Es la primera vez que intento esto de mezclar python y C++ y no se > muy bien por donde voy. =============================== int PyRun_SimpleFile(FILE *fp, char *filename) Similar to PyRun_SimpleString(), but the Python source code is read from fp instead of an in-memory string. filename should be the name of the file. =============================== O es lo del nombre del fichero.. o el código en Python. Prueba a comprobar la salida de esa función: error = PyRun_SimpleFile(f, "prog.py"); despues puedes mirar que problema es dependiendo del código. Suerte ;-) -- Greetings, alo. From chemacortes en wanadoo.es Thu Mar 28 18:34:49 2002 From: chemacortes en wanadoo.es (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 28 Mar 2002 18:34:49 +0100 Subject: Un lanzador en python In-Reply-To: <200203271748.SAA21178@mail.alu.ua.es> References: <200203271748.SAA21178@mail.alu.ua.es> Message-ID: <200203281734.g2SHYoW03200@bosbovum.ch3m4.org> Hola, ajpv en alu.ua.es: En respuesta a tu mensaje del Mié 27 Mar 2002 18:48: > He intentado embeber una aplicacion de python en este programa en > C++, pero falla al ejecutar. > > FILE * f; > f = fopen("prog.py", "r"); > Py_Initialize(); > PyRun_SimpleFile(f, "log.txt"); > Py_Finalize(); > > en un principio solo hago esto. Lo que pasa es que no es capaz de > ejecutar la llamada a PyRun_SimpleFile();. ¿Sera por usar Tkinter? No tengo mucha experiencia con el tema, pero he probado el código y lo he hecho funcionar con Tkinter. Puede que tengas problemas con el linker. En el manual de python explica que hay un problema con las librerías dinámicas cuando empotras el python y como se resuelve (con la opción -export-dynamic del linker). También debes añadir estas dos líneas más a tu código: int main(int argc, char **argv) { //... Py_SetProgramName(argv[0]); Py_Initialize(); PySys_SetArgv(argc, argv); //... } El Tkinter utiliza sys.argv[0], con lo que debe de estar inicializado convenientemente. Si sigues teniendo problemas, sería mejor que nos pusieras la salida de errores del compilador para hacernos una idea. Entre los fuentes del python, tienes en el directorio Demos/embed un ejemplo de un programa con el intérprete python empotrado. > Solo puedo usar python embebido si es para funciones con tipos de > datos propios de python. No debería ser así. Tan sólo tienes que realizar una conversión del tipo ("casting"). Puede que no entienda bien la pega que pones. Tienes funciones que te facilitan la conversión de tipos de datos entre ambos lenguajes (eg: PyArg_ParseTuple ó Py_BuildValue). Para realizar cálculos te debería sobrar; pero aunque así no fuera, aún te quedaría la posibilidad de crearte nuevos tipos de datos en python. Con lo que sí deberás tener cuidado es con las cadenas de caracteres. En Tkinter se codifican en unicode (sizeof(u'ñ')!=1), por lo que no deberías utilizar las strings de C y emplear siempre las de python. Por cierto, el tema de empotrado del python está algo mejor explicado en la la documentación del python 2.2. Si no lo tienes instalado, puedes consultar dicha documentación en http://www.python.org/doc/current/ext/embedding.html http://www.python.org/doc/current/api/api.html Saludos, -- Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 7.3 ZARALINUX http://www.zaralinux.org | "La ignorancia se apodera de quien PYTANDO http://pytando.sf.net | se contenta con lo que sabe"