在Android中安装运行python

范华清
2023-12-01

@1.

在应用商店下载安装“超级终端”或“终端模拟器”等Android终端软件,如此保证你能使用命令行操控你的设备


@2.

在应用商店下载安装好Busybox,并且symlink好busybox的所有命令

注:未symlink的busybox命令只能以形如“busybox 命令名称”的方式调用,例如

busybox killall

当symlink好以后,可以直接在终端中输入“命令名称”即可调用命令,例如

killall


@3.

在http://code.google.com/p/python-for-android/页面下载PythonForAndroid安装包安装到你的手机,本人下载的是PythonForAndroid_r5.apk

运行手机中的pythonForAndroid,点击Install等待安装自动完成


@4.

Android中运行python并不能像Linux中一样直接敲进python就执行python,这里还需要一个sh来配置环境才能让python运行起来,本人机器中的sh脚本内容如下:

#! /system/bin/sh
mkdir /data/tmp
mount -t tmpfs tmpfs /data/tmp
chmod 1777 /data/tmp

export EXTERNAL_STORAGE=/mnt/sdcard
PYTHONPATH=/mnt/sdcard/com.googlecode.pythonforandroid/extras/python
PYTHONPATH=${PYTHONPATH}:/data/data/com.googlecode.pythonforandroid/files/python/lib/python2.6/lib-dynload
export PYTHONPATH
export TEMP=/data/tmp
export PYTHON_EGG_CACHE=$TEMP
export PYTHONHOME=/data/data/com.googlecode.pythonforandroid/files/python
export LD_LIBRARY_PATH=/data/data/com.googlecode.pythonforandroid/files/python/lib
/data/data/com.googlecode.pythonforandroid/files/python/bin/python "$@"


上面的代码对于不同人的机器可能要做一些修改,主要是有些人的手机在安装python后,sd卡并不在/mnt/sdcard路径下,这时候你必须把第6、7行中/mnt/sdcard的内容替换成你的sd卡的路径。


将上面的脚本保存到sd卡中,比如sd卡根目录中命名为python.sh

这样在终端运行时,可以输入以下命令以运行python:

cd /mnt/sdcard
sh python.sh

详情请参考,注意文章和下面的讨论:https://code.google.com/p/python-for-android/wiki/RunPythonFromShell


@6.

对于部分机型,使用sh python.sh的办法尚不能正确将Python运行起来

错误提示: could not load needed library 'libpython2.6.so' for '/data/data/com.googlecode.pythonforandroid/files/python/bin/python' (load_library[1091]: Library 'libpython2.6.so' not found)CANNOT LINK EXECUTABLE

这时只能将python.sh内的所有内容复制输入到“终端模拟器”以运行python,目前本人暂不明确出现这种问题的原因,望交流。


 类似资料: