[pyar] [Flask] servicio en flask usando libreria gi

Juan A. Diaz nueces en cafelug.org.ar
Jue Mayo 14 16:48:53 ART 2015


On jue, 2015-05-14 at 10:25 -0300, Mariano Aquino wrote:
> Hola chicos, como estan?
> tengo un proyecto que usa la libreria gi (gobject instrospection) que
> funciona bien;
> tengo un pequeño web service para el cual deseo importar mi proyecto,
> pero cuando lo hago, el servicio se rompe.
> probe simplemente agregar la linea "import gi" a mi servicio, y ya con
> eso, se rompe.
> 
> 
> aca esta el codigo:
> 
> 
> http://dpaste.com/17J7V1S
> 
> 
> 
> y este es el error:
> 
> 
> $ python ./server.py 
>  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
>  * Restarting with stat
> Traceback (most recent call last):
>   File "./server.py", line 64, in <module>
>     app.run(debug = True)
>   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line
> 772, in run
>     run_simple(host, port, self, **options)
>   File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py",
> line 622, in run_simple
>     reloader_type)
>   File "/usr/local/lib/python2.7/dist-packages/werkzeug/_reloader.py",
> line 269, in run_with_reloader
>     reloader.run()
>   File "/usr/local/lib/python2.7/dist-packages/werkzeug/_reloader.py",
> line 159, in run
>     for filename in chain(_iter_module_files(), self.extra_files):
>   File "/usr/local/lib/python2.7/dist-packages/werkzeug/_reloader.py",
> line 70, in _iter_module_files
>     for package_path in getattr(module, '__path__', ()):
> TypeError: 'NoneType' object is not iterable
> 
> 
> estoy corriendo python 2.7.6 en un ubuntu 14.04.
> 
> 
> 
> se les ocurre alguna idea?


Que versión de flask estás usando? 
Estas usando un virtualenv?

werkzeug esta revisando los módulos que estas importando para generar un
listado de directorios/paths que monitorear en caso de que se produzca
un cambio en el código y hacer un reload de esos módulos.

http://werkzeug.pocoo.org/docs/0.10/serving/#reloader

Supongo que hay algún problema con entre el modulo de gi y la forma en
que werkzeug esta queriendo descubrir los paths

Si estas usando un virtualenv asegurate de que esta presente el modulo
de gi dentro del entorno. 

Ejecuta

>>> import gi
>>> getattr(gi, '__path__', ()):

Otra buena opción es instalar watchdog, aunque no estoy seguro que
solucione el problema, pero puede que evites pasar por esa parte del
código de werkzeug.

https://pypi.python.org/pypi/watchdog 


Saludos

nueces...

> 
> 
> Saludos!
> 
> 
> Mar
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
> 
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> 
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar




More information about the pyar mailing list