No se puede renderizar en el archivo en pygal más de una vez en Spyder

Version corta
Cuando estoy en Spyder, si ejecuto un script más de una vez que guarda un mapa con el render_to_file de render_to_file , obtengo un TypeError . Funciona bien la primera vez.

Versión detallada
Estoy intentando guardar un mapa usando pygal (2.4.0) en Python 3.6 de la siguiente manera:

 from pygal.maps.world import World worldmap = World() worldmap.add('Random Places', ['mx', 'bz', 'ru', 'th', 'et']) worldmap.render_to_file('random_places.svg') 

Funciona bien cuando ejecuto desde la terminal tantas veces como quiera (estoy en Ubuntu). También funciona bien cuando lo ejecuto por primera vez desde Spyder (3.2), usando F5. Curiosamente, cuando luego bash ejecutar el código nuevamente en Spyder, después de que ya se ejecutó una vez y funcionó, la última línea lanza un TypeError . Crea un archivo vacío random_places.svg , pero se detiene allí.

Solo volverá a ejecutarse sin error si reinicio el kernel (Consolas -> Reiniciar kernel). También render_to_file cuenta que si ejecuto el script anterior, pero agrego una segunda llamada a render_to_file , también funciona bien (así que no es como si la primera llamada estuviera corrompiendo las cosas).

Aquí está el rastro:

  File "/home/neuronet/SO_pygal_spyder", line 21, in  worldmap.render_to_file('random_places.svg') File "/home/neuronet/.local/lib/python3.6/site-packages/pygal/graph/public.py", line 114, in render_to_file f.write(self.render(is_unicode=True, **kwargs)) File "/home/neuronet/.local/lib/python3.6/site-packages/pygal/graph/public.py", line 52, in render self.setup(**kwargs) File "/home/neuronet/.local/lib/python3.6/site-packages/pygal/graph/base.py", line 185, in setup self.state = State(self, **kwargs) File "/home/neuronet/.local/lib/python3.6/site-packages/pygal/state.py", line 35, in __init__ merge(self.__dict__, graph.config.__class__.__dict__) File "/home/neuronet/.local/lib/python3.6/site-packages/pygal/util.py", line 384, in merge dict1[key] = mergextend(val, dict1.get(key, ())) File "/home/neuronet/.local/lib/python3.6/site-packages/pygal/util.py", line 370, in mergextend if list1 is None or _ellipsis not in list1: TypeError: argument of type 'Key' is not iterable 

Preguntas relacionadas

  • Pygal Maps World no funciona
  • Error en Pygal: “render_to_file”