1 votos

Python 3 en Android usando TerminalIDE

Quiero codificar Python 3 en mi dispositivo Android. Así que pasé por Blog de Lanky Cyril post sobre el uso de la Terminal IDE para poner todo lo que necesitaba para hacer el código en un terminal de Android. Para Python 2.X que está instalado en el blog, funciona como un encanto.

Así que instalé Python 3 siguiendo las mismas instrucciones. Esto es lo que obtengo cuando intento iniciar Python 3:

terminal++:~$ ~/python3                                                                                                                                              
Fatal Python error: Py_Initialize: unable to load the file system codec
LookupError: no codec search functions registered: can't find encoding
Segmentation fault 

Me aseguré:

export PYTHONHOME=/data/data/com.googlecode.python3forandroid/files/python3
export PYTHONPATH=${PYTHONHOME}/lib/python3.2/lib-dynload

También he comprobado por qué python 3 no se carga en StackOverflow.

Así que el problema podría ser la construcción de python. ¿Alguien ha solucionado esto?

1voto

Afrowave Puntos 6

Encontré la solución yendo a la página de Python para Android (Py4A) y encontré el script que permite que Python3 se ejecute como "Stand alone" en Android.

Hay tres maneras de hacerlo:

  • He creado el "standalone.sh" script, lo he guardado en "HOME"( export HOME=/data/data/com.spartacusrex.spartacuside/files ), cambié su modo a ejecutable, lo llamé y apareció python.

  • He abierto el ~/.bashrc y he pegado el código copiado:

 export EXTERNAL_STORAGE=/mnt/sdcard/com.googlecode.python3forandroid
 export PY34A=/data/data/com.googlecode.python3forandroid/files/python3
 export PY4A_EXTRAS=$EXTERNAL_STORAGE/extras
 PYTHONPATH=$EXTERNAL_STORAGE/extras/python3
 PYTHONPATH=${PYTHONPATH}:$PY34A/lib/python3.2/lib-dynload
 export PYTHONPATH
 export TEMP=$EXTERNAL_STORAGE/extras/python3/tmp
 export PYTHON_EGG_CACHE=$TEMP
 export PYTHONHOME=$PY34A
 export LD_LIBRARY_PATH=$PY34A/lib
 $PYTHONHOME/bin/python3 "$@"

Tenga en cuenta que esto significa que cada vez que inicie Terminal IDE, cargará automáticamente Python y se encontrará en el prompt de Python.

  • Para lanzar Python de la manera normal, como muestra Lanky Cyril, pegue el siguiente código en el .bashrc:
export EXTERNAL_STORAGE=/mnt/sdcard/com.googlecode.python3forandroid
export PY34A=/data/data/com.googlecode.python3forandroid/files/python3
export PY4A_EXTRAS=$EXTERNAL_STORAGE/extras
PYTHONPATH=$EXTERNAL_STORAGE/extras/python3
PYTHONPATH=${PYTHONPATH}:$PY34A/lib/python3.2/lib-dynload
export PYTHONPATH
export TEMP=$EXTERNAL_STORAGE/extras/python3/tmp
export PYTHON_EGG_CACHE=$TEMP
export PYTHONHOME=$PY34A
export LD_LIBRARY_PATH=$PY34A/lib

Notarás que la última línea de la segunda solución ha sido sacada y puesta en un archivo ejecutable "~/python". Aquí está el código:

  #!/system/bin/sh   
  /data/data/com.googlecode.python3forandroid/files/python3/bin/python3 "$@"

Utilicé la segunda para que, al lanzar el IDE de Terminal, me aparezca el prompt de Python al instante. Instalé la tercera solución para que, si salgo del prompt de Python, tenga una forma de volver a la misma sesión de terminal.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X