[Butia-devel-list] [Butia devel list] [Proyecto accesibilidad] Problema con importaciones

Lucia Carozzi lucia.carozzi en gmail.com
Vie Mar 14 20:06:21 UYT 2014


Gente, lo pudimos solucionar!! En realidad lo que hicimos fue agregar unas
importaciones más al x_events.py
Gracias a todos!

Saludos


El 14 de marzo de 2014, 12:53, Nicolas Furquez <furquez en gmail.com> escribió:

> Se me ocurre  que seguramente tengas que agregarla al "classpath" de
> Turtlebots, por eso te anda por fuera y no al revés. Fíjate que los plugins
> heredan de una clase llamada plugin y tienen algunos métodos se que pueden
> reimplementar, esos métodos se ejecutan al arranque de Turtlebots, al
> iniciar el plugin, al darle ejecutar, al parar, etc, fíjense por ahí capas
> de agregarlo. Sino ahí es Alan el que puede saber mejor donde se mete eso.
>
> Si quieren usar la de C, en el plugin pathern_detection (el de las señales
> de transito) lo usamos y busquen como usar Ctype. pero ahí tiene que
> importar la librería del sistema, para no tener que estar agregando
> dependencias al momento de compilar, como pasa con este plugin que les digo.
>
>
> Saludos
> Nico
>
>
>
> El 14 de marzo de 2014, 12:01, Lucia Carozzi <lucia.carozzi en gmail.com>escribió:
>
> Es una librería toda escrita en python (
>> http://python-xlib.sourceforge.net/) es más, la encontramos y la
>> queremos usar para no tener que usar la del sistema en C.
>>
>>
>> El 14 de marzo de 2014, 11:22, Nicolas Furquez <furquez en gmail.com>escribió:
>>
>> esta Xlib es de python?  o es una librería del sistema que uds quieren
>>> usar en python?
>>>
>>> Saludos
>>> Nicolás
>>>
>>>
>>> El 13 de marzo de 2014, 23:20, Alan Jhonn Aguiar Schwyn <
>>> alanjas en hotmail.com> escribió:
>>>
>>> O sea que el problema aparece al final, cuando tratan de importar
>>>> dinámicamente las extensiones?
>>>>
>>>> Yo no usaría la referencia a través de x_events "x_events.Xlib.ext"
>>>> usaría directamente "Xlib.ext"..
>>>>
>>>> Podrías enviarme la carpeta con el plugin? Es más fácil ver todo el
>>>> código y buscar el problema.
>>>> Ya que no es un error puntual, implica saber como es la estructura de
>>>> las carpetas e importaciones
>>>> cruzadas.
>>>>
>>>>
>>>> ------------------------------
>>>> Date: Thu, 13 Mar 2014 21:36:40 -0300
>>>> From: lucia.carozzi en gmail.com
>>>> To: alanjas en hotmail.com
>>>> CC: butia-devel-l en fing.edu.uy
>>>> Subject: Re: [Butia-devel-list] [Butia devel list] [Proyecto
>>>> accesibilidad] Problema con importaciones
>>>>
>>>>
>>>> No se si esto responde tu pregunta, pero la secuencia de errores
>>>> vendría a desencadenarse así:
>>>>
>>>> *en x_events.py que forma parte de nuestra implementación en*
>>>> //copio las importaciones
>>>> sys.path.insert(0, os.path.abspath('./plugins/x_events')) // necesario
>>>> para que se pudiera ver la paleta
>>>> import lib_event
>>>> ...
>>>> x,y = lib_event.getMousePosition()
>>>> ...
>>>>
>>>> *en lib_events.py que forma parte de nuestra implementación en*
>>>> from Xlib import X, display, ext, xobject // copio la importación
>>>> ...
>>>> def getMousePosition():
>>>>             d = display.Display() // display forma parte de la librería
>>>> Xlib
>>>> ...
>>>>
>>>> *y dentro de display.py en*
>>>> for extname, modname in ext.__extensions__:
>>>>             if extname in exts:
>>>>             __import__('x_events.Xlib.ext.' + modname)
>>>>                         mod = getattr(ext, modname)
>>>> ...
>>>>
>>>> Me faltó agregar que si corremos el programa por fuera de turtleblocks
>>>> también funciona.
>>>>
>>>>
>>>> El 13 de marzo de 2014, 20:58, Alan Jhonn Aguiar Schwyn <
>>>> alanjas en hotmail.com> escribió:
>>>>
>>>> Cómo están importando la librería?
>>>> Están usando GIT o algo?
>>>> Pasen el pedazo de código que da error..
>>>>
>>>> ------------------------------
>>>> Date: Thu, 13 Mar 2014 20:42:57 -0300
>>>> From: lucia.carozzi en gmail.com
>>>> To: butia-devel-l en fing.edu.uy
>>>> Subject: [Butia-devel-list] [Butia devel list] [Proyecto accesibilidad]
>>>> Problema con importaciones
>>>>
>>>>
>>>> Hola a todos!
>>>> Planteamos esta duda que capaz alguno ya pasó por esto y nos puede
>>>> ayudar.
>>>>
>>>> Encontramos la librería xlib que nos "facilita" la implementación del
>>>> proyecto. Por eso la queremos incluír, por eso la agregamos dentro de
>>>> plugins dentro de nuestra carpeta del proyecto.
>>>>
>>>> Primero descubrimos mirando otros plugins que agregan la línea
>>>> *sys.path.insert(0, os.path.abspath('./plugins/x_events'))*
>>>> en nuestro caso si no agregábamos esa línea directamente no se veía la
>>>> paleta nueva.
>>>>
>>>> Ahora nos encontramos con el siguiente problema, al correr el programa
>>>> se tranca y aparecen errores como
>>>> *ImportError: No module named Xlib.ext.record*
>>>> entonces probamos copiar la librería al root del programa y de esta
>>>> forma funciona correctamente, por lo que pensamos que estamos teniendo un
>>>> error en la forma que realizamos las importaciones en los distintos
>>>> módulos. Pero no podemos encontrar como solucionarlo.
>>>>
>>>> Si alguien tiene una idea o le pasó algo similar somos todo oídos,
>>>> gracias y saludos!!
>>>>
>>>> _______________________________________________ Butia-devel-l site list
>>>> Butia-devel-l en fing.edu.uy
>>>> https://www.fing.edu.uy/mailman/listinfo/butia-devel-l
>>>>
>>>>
>>>>
>>>> _______________________________________________ Butia-devel-l site list
>>>> Butia-devel-l en fing.edu.uy
>>>> https://www.fing.edu.uy/mailman/listinfo/butia-devel-l
>>>>
>>>> _______________________________________________
>>>> Butia-devel-l site list
>>>> Butia-devel-l en fing.edu.uy
>>>> https://www.fing.edu.uy/mailman/listinfo/butia-devel-l
>>>>
>>>
>>>
>>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://www.fing.edu.uy/pipermail/butia-devel-l/attachments/20140314/1a773cbf/attachment.html 


Más información sobre la lista de distribución Butia-devel-l