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

Nicolas Furquez furquez en gmail.com
Vie Mar 14 12:53:03 UYT 2014


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/6a4140c8/attachment.html 


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