【问题标题】:Need to run Python 3.8.x on Termux on Android, currently installed with Python 3.9需要在 Android 上的 Termux 上运行 Python 3.8.x,目前与 Python 3.9 一起安装
【发布时间】:2020-11-16 06:50:12
【问题描述】:

我刚刚在我的 Android 设备上安装了最新的 Termux,Python 3.9 是默认的 Python 安装。由于某些包不兼容,我需要运行 Python 3.8.x。

我的搜索告诉我没有办法在 Termux 中降级 Python - 这是正确的吗?

如果我安装了以前版本的 Termux,这会反过来安装早期版本的 Python,还是只收集相同的默认版本?

我还有其他方法可以进行此更改吗?

【问题讨论】:

标签: python android downgrade termux


【解决方案1】:

这几天我也遇到过类似的事情!

这里是 Reddit 上@kcubeterm 给出的解决方案的总结,他非常好心地提供了在 Termux 上安装 python 3.8X 的方法。

  1. 如果已安装 python 3.9,请删除它:
pkg uninstall python
  1. 使用以下命令记下设备 CPU 的架构:
uname -m
  1. 转到https://github.com/Termux-pod/termux-pod 并找到与您设备的CPU 对应的文件。根据@kcubeterm,如果有任何错误,您应该先尝试python_3.8.6_.deb,然后再尝试static版本。

  2. 使用 web-get 在 termux 中下载原始 .deb 文件。

确保将 ?raw=true 添加到 url 的末尾,否则您最终会下载 html 文件!

wget https://github.com/Termux-pod/termux-pod/blob/main/arm/python/python_3.8.6_<CPU_ARCH.>.deb?raw=true
  1. 最后在termux中执行如下命令:
dpkg -i ./python_3.8.6_<CPU_ARCH.>.deb

再一次,将 替换为您的 cpu 架构(对我来说是 arm)。

希望这个答案能帮助您安装 Python 3.8!我喜欢 termux,但令人沮丧的是它们无法安装非出血边缘版本的软件包!

再次感谢提供此解决方案的@kcubeterm。

【讨论】:

  • 打破点子:ImportError: dlopen failed: cannot locate symbol "ffi_closure_free" referenced by "/data/data/com.termux/files/usr/lib/python3.8/lib-dynload/_ctypes.cpython-38.so"...
【解决方案2】:

git clone the termux-packages repo

然后 cd 到 packages/python 文件夹 git log build.sh 找到你想要的版本的提交 签出该提交(可以肯定的是,对于整个 repo)

然后按照标准说明进行操作 https://wiki.termux.com/wiki/Building_packages

否则你不知道你正在安装什么样的二进制文件。确保自己构建它。我想确定一下。

【讨论】:

    【解决方案3】:

    它不依赖于 termux 的版本。这取决于存储库。它总是更新它的包。所以我认为没有办法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      • 2021-03-27
      • 2021-02-03
      • 2021-05-08
      相关资源
      最近更新 更多