运行 Python for Android (Qpython) 在 Android 终端

Run Python for Android (Qpython) in Android Terminal

Python 对于 Android (Py4A 2.6) 太棒了!!!但是 QPython (2.7) 更强大并且不断发展。现在我尝试将 Qpython 的 Python 集成到本教程中描述的 Android (5.1 CM12) 终端/ADB:http://wiki.qpython.org/en/diveinto/

我导入 qpython 需要的环境变量的脚本如下所示:

TERM=screen
PATH=/data/data/com.hipipal.qpyplus/files/bin:/system/bin:/system/xbin
LD_LIBRARY_PATH=.:/data/data/com.hipipal.qpyplus/files/lib/:/data/data/com.hipipal.qpyplus/files/:/data/data/com.hipipal.qpyplus/lib/
PYTHONHOME=/data/data/com.hipipal.qpyplus/files
ANDROID_PRIVATE=/data/data/com.hipipal.qpyplus/files
PYTHONPATH=/storage/emulated/0/com.hipipal.qpyplus/lib/python2.7/site-packages/:/data/data/com.hipipal.qpyplus/files/lib/python2.7/site-packages/:/data/data/com.hipipal.qpyplus/files/lib/python2.7/:/data/data/com.hipipal.qpyplus/files/lib/python27.zip:/data/data/com.hipipal.qpyplus/files/lib/python2.7/lib-dynload/:/storage/emulated/0/com.hipipal.qpyplus/scripts
PYTHONSTARTUP=/storage/emulated/0/com.hipipal.qpyplus/lib/python2.7/site-packages/qpythoninit.py
PYTHONOPTIMIZE=2
TMPDIR=/storage/emulated/0/com.hipipal.qpyplus/cache
AP_HOST=127.0.0.1
AP_PORT=58418
AP_HANDSHAKE=01805a68-c04c-4e21-bd54-ac8732f3a8da
ANDROID_PUBLIC=/storage/emulated/0/com.hipipal.qpyplus
ANDROID_PRIVATE=/data/data/com.hipipal.qpyplus/files
ANDROID_ARGUMENT=/storage/emulated/0/com.hipipal.qpyplus/scripts

Shell 会话:

u0_a101@C1905:/ $ source /sdcard/qpyenvnew.sh
u0_a101@C1905:/ $ $python
u0_a101@C1905:/ $ hmm do nothing?!

我没有输出。

我在 Whosebug 上发现了同样的问题,但发布的解决方案是 link 怎么回事。

关于仅抛出错误的其他教程 http://dinostest.com/node/28

如果您的环境变量脚本是通过运行宁教程link中的代码获得的,它应该是正确的。

如果您粘贴的内容与您输入的内容完全相同,那么问题是您试图通过键入 $python 来 运行 pyhton,而实际上它应该是 python

前缀 $ 用于引用变量的值,因此输入 $python 引用了变量 python 的值,但对它没有任何作用,因此没有反馈。

在您的终端中尝试此命令:

$sh data/data/com.hipipal.qpyplus/files/bin/qpython.sh

终端将提示 Python 控制台。

EDIT2:虽然这不是这个问题的直接答案,但我建议您看一下 App 'Termux'。您可以通过 apt 安装 Python2/3,virtualenv/-wrapper 等...更强大!

编辑:由于/data/data...只能以root身份访问,因此必须以root身份执行以下操作!

请注意 python 可执行文件路径在您的 $PATH 中。即使在 运行 教程中的脚本(您的脚本)之后,情况也并非如此。如果它不存在,只需键入:

export PATH=/data/data/com.hipipal.qpyplus/files/bin:$PATH
或关注 theses steps。简而言之:使用上面的行在 /sdcard(此处为“.bashrc”)中创建一个文件。在那之后输入:
source .bashrc
source init.sh
(init.sh 位于 /data/data/com.hipipal.qpyplus/files/bin 以及)

然后开火up Python with
python-android5
这是 PIE 兼容的可执行文件,适用于 Phone with Lollipop 及更高版本。但请注意:无论出于何种原因,我无法在 Python 提示符下退出()或退出(),但我能够从终端执行 运行 脚本!


玩得开心!

编辑: 我发现了这个:PythonForAndroid。它是 PythonForAndroid 的一个分支,它仍然存在,并且这个版本能够在 Android L 上 运行(在我的例子中是 5.1.1 上的 Python3)。还要检查那里链接的 SL4A,它在 Lollipop 上效果很好。

感谢上面的回答,我做了一个超级简单的解决方案。如果您有 root:创建一个文件 "python" 并在其中键入以下行:

sh data/data/com.hipipal.qpyplus/files/bin/qpython-android5.sh

将此文件放在您的 /system/bin 目录中,您可以使用命令 'python'.

从任何地方访问 python