Problemas para ejecutar pilas

Hola, soy nuevo en esto de la programación y también soy usuario básico o “inicial” de linux, conocí pilas en la charla del FLISoL sobre Huayra gnu/linux y me interesó probarlo para luego fomentarlo entre los niños y jóvenes que participan de un centro cultural del que participo.
Logré instalar pilas siguiendo los pasos de la documentación, tengo instalado ubuntu, pero al momento de ejecutarlo, tanto desde el dashboard como desde la consola, no puedo…
Desde el dashboard le doy click al ícono de pilas y no hace nada, no se ejecuta, o sea no se abre.
Cuando quise seguir los pasos de la documentación, abrí un terminal e introduje el comando “pilas” (sin comillas), al aserlo me tira el siguiente mensaje:

keru@keru-OEM:~$ pilas
Traceback (most recent call last):
  File "/usr/local/bin/pilas", line 6, in <module>
    import pilas
  File "/usr/local/lib/python2.7/dist-packages/pilas/__init__.py", line 14, in <module>
    from mundo import Mundo
  File "/usr/local/lib/python2.7/dist-packages/pilas/mundo.py", line 10, in <module>
    from pilas import fisica
  File "/usr/local/lib/python2.7/dist-packages/pilas/fisica.py", line 15, in <module>
    import Box2D as box2d
  File "/usr/local/lib/python2.7/dist-packages/Box2D/__init__.py", line 21
SyntaxError: Non-ASCII character '\xc3' in file /usr/local/lib/python2.7/dist-packages/Box2D/__init__.py on line 21, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
keru@keru-OEM:~$ 

Luego, si lo intento como root me dice lo mismo…

¿Alguien amablemente me puede decir dónde está el problema y cómo solucionarlo?
Desde ya muchas gracias.

Parece un problema de pyBox2D.
¿Que versión tienes instalada?
¿como la instalaste?

Un Saludo.

Hola.
Tengo el mismo problema al ejecutarlo.
Linux Mint 14 KDE, Python 2.7.3.
Me interesaria para mostrarlo a mi hijo y amigos. Desde ya muchas gracias.
Luis.

Buenas!!!, aparentemente hay un problema con box2d, lo vi en otros equipos.

Hay que editar el archivo:

/usr/local/lib/python2.7/dist-packages/Box2D/__init__.py

y cambiar la linea 21: donde dice “sáb” (con tilde) hay que cambiarlo por cualquier otra
cosa, por ejemplo “sab” (sin el tilde).

Saludos!

Muchas gracias. Ahora si funcionó, pero en mi caso era “mié”

Buenisimo, ahora lo estoy reparando para que se instale bien. ¿cómo habías instalado pybox2?

Buenísimo !!!
Modificando eso funciona :smiley:
Yo lo instalé desde la página de pilas con los 3 pasos de las instrucciones.

Hola a tod@s!
En mi caso instalé el paquete para debian en un Mint 14 32 bits, y al abrir el intérprete me lista varios errores en diferentes archivos, de los cuales transcribo el último:

File “/usr/local/lib/python2.7/dist-packages/pilas/escena/escena_base.py”, line 119, in _actualizar_fisica if len(self.fisica.mundo.bodies) > 4: AttributeError: ‘function’ object has no attribute 'bodies’

<type ‘exceptions.AttributeError’>

La verdad no conozco nada de Python y no se si me estará faltando alguna librería u otro package. ¿Alguien tiene idea qué podrá ser lo que me falta?

Muchas gracias y un abrazo,
Santiago

Hola Santiago,

Si, por lo visto te falta instalar box2d (la biblioteca de simulación física).

Se puede instalar box2d con el siguiente comando:

sudo easy_install -U box2d

O siguiendo paso a paso las instrucciones del archivo README de pilas:

Avisanos cualquier cosa!

1 Like

Gracias Hugo. Resuelto.
Yo tenía instalado el paquete python-box2d, pero igual no funcionaba. Así que después de instalar el python-setuptools pude hacer el easy_install -U box2d.
Después de eso quedó funcionando bien.

Gracias y saludos,
Santiago

¡Genial Santiago!, ¡ muchisimas gracias por avisar !

Toda idea que se te ocurra usando pilas avisanos, así vamos mejorando las versiones futuras.

Saludos!!!

Hugo, recien instalé pilas y el box2d sigue teniendo el problemita de que no tiene “utf 8” el archivo “/usr/local/lib/python2.7/dist-packages/Box2D/b2/_init_.py”. Se me ocurre que se podría agregar algo en el instalador de pilas para que le agregue “# -- coding: utf-8 --” al comienzo de ese archivo. Como puedo colaborar con el proyecto, me interesa porque lo seguimos utilizando en el colegio para darle clases a los chicos (ITS Villada, en Córdoba)
Saludos

Editado: ya vi como colaborar desde github. Hice el pull request agregando el acento del miércoles.

al escribir en la consola de ubuntu “pilas” (sin comillas) me tira esto:

Traceback (most recent call last):
  File "/usr/local/bin/pilas", line 6, in <module>
    import pilas
  File "/usr/local/lib/python2.7/dist-packages/pilas/__init__.py", line 14, in <module>
    from mundo import Mundo
  File "/usr/local/lib/python2.7/dist-packages/pilas/mundo.py", line 11, in <module>
    from pilas import fisica
  File "/usr/local/lib/python2.7/dist-packages/pilas/fisica.py", line 16, in <module>
    import Box2D as box2d
  File "/usr/local/lib/python2.7/dist-packages/Box2D/__init__.py", line 20, in <module>
    from .Box2D import *
  File "/usr/local/lib/python2.7/dist-packages/Box2D/Box2D.py", line 7326, in <module>
    from . import b2
  File "/usr/local/lib/python2.7/dist-packages/Box2D/b2/__init__.py", line 21
SyntaxError: Non-ASCII character '\xc3' in file /usr/local/lib/python2.7/dist-packages/Box2D/b2/__init__.py on line 21, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Mi problema es como el que decían al inicio no hace nada al tratar de abrir el Pilas por el icono.

Por otra parte al abrir con el nano " /usr/local/lib/python2.7/dist-packages/Box2D/init.py" no encuentro “sáb” les paso el contenido del archivo:

#!/usr/bin/python
#
# C++ version copyright 2010 Erin Catto http://www.gphysics.com
# Python version copyright 2010 Ken Lauer / sirkne at gmail dot com
# 
# This software is provided 'as-is', without any express or implied
# warranty.  In no event will the authors be held liable for any damages
# arising from the use of this software.
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it
# freely, subject to the following restrictions:
# 1. The origin of this software must not be misrepresented; you must not
# claim that you wrote the original software. If you use this software
# in a product, an acknowledgment in the product documentation would be
# appreciated but is not required.
# 2. Altered source versions must be plainly marked as such, and must not be
# misrepresented as being the original software.
# 3. This notice may not be removed or altered from any source distribution.
# 
from .Box2D import *
__author__ = '$Date: 2013-02-02 20:29:05 -0300 (sab 02 de feb de 2013) $'
__version__ = '2.3b0'
__version_info__ = (2,3,0)
__revision__ = '$Revision: 362 $'
__license__ = 'zlib'
__date__ = '$Date: 2013-02-02 20:29:05 -0300 (sab 02 de feb de 2013) $'

Si me pueden ayudar genial. Saludos

listo lo solucioné. En el centro de software de ubuntu busque “box2d” me tiro un paquete de utilidades para instalar de python, cuando termine por las dudas hice un “sudo update” luego “sudo upgrate” y volví a abrir el archivo “/usr/local/lib/python2.7/dist-packages/Box2D/b2/init.py” con el nano y ahí si estaba “mié” “e” con acento lo cambié por “mie” y listo.

Gracias, ya que con el post pude arreglarmnelas para corregir el problema.

Saludos!!

Estoy con GalponMinino basado en UbuntuDebian y cargué desde Synaptic Box2D incluidos librerías, tengo 2 Archivos init.py uno en /usr/local/lib/python2.7/dist-packages/Box2D/b2/init.py donde agregué el acento a “mie” para quedar así

__author__='Ken Lauer'
__license__='zlib'
__date__="$Date: 2010-01-13 21:09:31 -0300 (miér 13 de ene de 2010) $"
__version__="$Revision: 250 $"
__doc__="""
This module holds the full usable contents of pybox2d. 
It offers an alternative syntax in the form of:

    from Box2D.b2 import *
    a = vec2(1,1) + vec2(2,2)

This is fully equivalent to:

    from Box2D import *
    a = b2Vec2(1,1) + b2Vec2(2,2)

All classes that exist in the main module that are prefixed 
by b2 or b2_ have been stripped. Beware that importing *
from a module is generally frowned upon -- this is mainly
here for convenience in debugging sessions where typing 
b2Vec2 repeatedly gets very old very quickly (trust me,
I know.)
"""

y otro en /usr/local/lib/python2.7/dist-packages/Box2D/b2/init.py que está así

from .Box2D import *
__author__ = '$Date: 2013-02-02 20:29:05 -0300 (sab 02 de feb de 2013) $'
__version__ = '2.3b0'
__version_info__ = (2,3,0)
__revision__ = '$Revision: 362 $'
__license__ = 'zlib'
__date__ = '$Date: 2013-02-02 20:29:05 -0300 (sab 02 de feb de 2013) $'

en el Terminal sigue apareciendo lo mismo

Traceback (most recent call last):
  File "/usr/local/bin/pilas", line 6, in <module>
    import pilas
  File "/usr/local/lib/python2.7/dist-packages/pilas/__init__.py", line 14, in <module>
    from mundo import Mundo
  File "/usr/local/lib/python2.7/dist-packages/pilas/mundo.py", line 11, in <module>
    from pilas import fisica
  File "/usr/local/lib/python2.7/dist-packages/pilas/fisica.py", line 16, in <module>
    import Box2D as box2d
  File "/usr/local/lib/python2.7/dist-packages/Box2D/__init__.py", line 20, in <module>
    from .Box2D import *
  File "/usr/local/lib/python2.7/dist-packages/Box2D/Box2D.py", line 7326, in <module>
    from . import b2
  File "/usr/local/lib/python2.7/dist-packages/Box2D/b2/__init__.py", line 21
SyntaxError: Non-ASCII character '\xc3' in file /usr/local/lib/python2.7/dist-packages/Box2D/b2/__init__.py on line 21, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

No se si un Copy-Paste soluciona el problema, si alguien sabe agradezco
Antes edité los Archivos con Emacs, si lo hago con nano sale así

__author__='Ken Lauer'
__license__='zlib'
__date__="$Date: 2010-01-13 21:09:31 -0300 (mi��r 13 de ene de 2010) $"
__version__="$Revision: 250 $"
__doc__="""
This module holds the full usable contents of pybox2d.
It offers an alternative syntax in the form of:

    from Box2D.b2 import *
    a = vec2(1,1) + vec2(2,2)

This is fully equivalent to:

    from Box2D import *
    a = b2Vec2(1,1) + b2Vec2(2,2)

All classes that exist in the main module that are prefixed
by b2 or b2_ have been stripped. Beware that importing *
from a module is generally frowned upon -- this is mainly
here for convenience in debugging sessions where typing
b2Vec2 repeatedly gets very old very quickly (trust me,
I know.)

Hola @Enrique_Sellecchia, tendrías que editar el archivo /usr/local/lib/python2.7/dist-packages/Box2D/b2/__init__.py y colocar # encoding: utf-8 al principio del archivo o quitar el tílde de la palabra miér.

El problema viene porque python no se esperaba que el archivo tenga tildes y otros caracteres especiales, sino que el archivo esté completamente limitado a los caracteres que se usan al escribir en inglés (osea, sin tildes o ñ digamos…)

Gracias, lo encontré en el hilo de Ubuntu 13.04 y entré para eliminar mi mensaje, pero mejor si la respuesta queda en varios hilos, no encontraba ejemplos con sonido para probarlo, pero bastó con 2 lineas, sonido_de_explosion.reproducir() y sonido_de_explosion.reproducir(repetir=True) creo que los chicos se van a enganchar con esto

Este problema tambien lo tengo en la version de pilas en github

¿Y te sale lo mismo si escribes

python2.7 bin/pilasengine

en lugar de pilas? ¿Has instalado desde el repositorio clonado con

sudo python2.7 setup.py develop

?

Persiste el error con

python2.7 bin/pilas

o

python2.7 bin/pilasengine