android - Android 上的 Python 3 使用 TerminalIDE

标签 android python-3.x terminal-ide

我想在我的 Android 设备上编写 Python 3 代码。所以我经历了Lanky Cyril's blog发布使用终端 IDE 将我需要的所有代码放在 Android 终端上。对于博客上安装的 Python 2.X,它就像一个魅力。

所以我使用相同的说明安装了 Python 3。这是我尝试启动 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 

我确定:

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

我还检查了为什么 python 3 is not loading 在 StackOverflow 上。

所以问题可能出在 python 构建上。有人解决过这个问题吗?

最佳答案

我通过转到 Python-for-Android (Py4A) 主页找到了解决方案,并找到了允许 Python3 在 Android 上作为“独立”运行的脚本。

有 3 种方法可以做到这一点:

  • 我创建了“standalone.sh”脚本,将其保存在“HOME”(export HOME=/data/data/com.spartacusrex.spartacuside/files), 将其模式更改为可执行文件,调用它并出现 python。

  • 我打开 ~/.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
$PYTHONHOME/bin/python3 "$@"

请注意,这意味着每次启动终端 IDE 时,您都会自动加载 Python 并在 Python 提示符下找到自己。

  • 要以正常方式启动 Python,如 Lanky Cyril 所示,将以下代码粘贴到 .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

您会注意到第二个解决方案中的最后一行已被取出并放入可执行文件“~/python”中。这是代码:

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

我使用了第二个,这样当我启动 Terminal IDE 时,我会立即得到 Python 提示。我安装了第三个解决方案,这样,如果我离开 Python 提示符,我就有办法回到同一个终端 session 。

关于android - Android 上的 Python 3 使用 TerminalIDE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22116442/

相关文章:

java - android 添加按钮到标题栏

android - 如何在android上实现类似 "Printer Discover"的服务发现?

windows - 在 Anaconda 中创建 Python 3.4 环境

python - 来自文件的动态字典

java - 如何将 Jess(.jar 文件)库转换为 .dex 文件,或在 Android 上运行 java 类文件?

android - 手动向 Android Vitals 报告崩溃

android - 需要帮助了解我的 Android 应用程序中的内存泄漏

python - Spacy注释工具实体索引

android - 适用于 Android 的终端 IDE 应用程序是否与 Lollipop 兼容?

android - 使用终端 IDE 从 Android 上的 GitHub 克隆