Termux Python3.11开发:Python以ROOT方式,纯Android脱离电脑方式操作手机

使用PyCharm进行调试运行程序的时候,代码是以普通用户权限运行的,当对某些需要权限的操作时候,难免出错,所以如何以ROOT方式进行运行呢.
点击链接加入群聊【Termux友情赞助群】:897177804

先说一下Termux环境的各用户理解,分三种情况:
1:默认进行终端环境是,APP应用用户权限,权限于操作本APP目录下面的文件,如/data/data/com.termux/,其它的操作不了
2:使用tsu运行的环境,对文件基本上都是能操作了,但因为变量环境不同,不能直接调用android系统独有的程序,如果需要运行的话得用全路径方式,这对操作也带也不便,基本在实际使用中,也不太好使用此方式
3:一般使用的方式是su方式,直接在终端使用"su"提升ROOT用户权限的操作方式,这种环境因为很多运行的程序,在Termux中,如果要运行得使用绝对路径,这样就很不方便了,如执行python得这样:
/data/data/com.termux/files/usr/bin/python3.11,否则找不到程序
所以得将需要程序,使用软链接的方式,链接到/system/bin,这样就方便直接使用了

PyCharm 运行调试时,使用的是如下路径的虚环境python
/data/data/com.termux/files/home/.virtualenvs/Termux/bin/python
SSH连接到终端,本来是想使用root用户登陆,没有想到,即使是用了root帐号登陆了,但还是应用用户权限,好像也没有什么好办法.
下面进行正题:

在/data/data/com.termux/files/home/.virtualenvs/Termux/bin/建立python文件
事先将python备份,然写建立文件python内容如下:

 #!/system/bin/sh
exec su -c python "$@"

加上运行权限

su -c chmod 777 /data/data/com.termux/files/home/.virtualenvs/Termux/bin/python

添加到android系统中,方便直接执行
su -c mount -o remount -w /system/bin 提示 mount: ‘/system/bin’ not in /proc/mounts
直接使用如下 解决Read-only file system问题,重启后需要重新执行

su -c mount -o remount -w /

将python可执行程序,软链接到/system/bin,这样后面就可以直接在shell中直接启动

su -c ln -sfn /data/data/com.termux/files/usr/bin/python3.11 /system/bin/python

在后面运行的时候Matplotlib会提示

Matplotlib created a temporary cache directory at /data/data/com.termux/files/usr/tmp/matplotlib-9fgbwi4v because the default path (/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.

必竟不是每次重启之后,都执行了解除Read-only file system限制,也为它建立一个软链接,避免提示

su -c ln -sfn /data/data/com.termux/files/home/.config /.config

这样在开发调试运行的时候,就跟代码最终运行环境一模一样了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MetaEnchanter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值