本文介绍: 网上很多关于Termux安装Numpy、Matplotlib、Pandas教程,都是依赖Python3.9以下的,自从Termux官方将Python升级到3.10之后,很多都失效了。准备手机一台(Android 7.0及以上)官网下载地址:Termux | F-Droid – Free and Open Source Android App Repositorygoogle play下载安装设置换源后,记得更新哦利⽤ proot 可以为⼿机没有root的⽤户来模拟⼀个root环境然后终端

前言: 

网上很多关于Termux安装Matplotlib、Pandas教程,都是依赖Python3.10或Python3.9以下的环境。今年,Termux官方又将Python升级到3.11.2之后,很多的安装方法失效了。

环境搭建

手机要求:Android 7.0及以上

Termux版本:0.118

Python版本:3.11.2

1、安装Termux(0.118)

官网下载地址Termux | F-Droid – Free and Open Source Android App Repository

google play下载安装

2、换源,由于Termux官方的源网有点慢,后期安装一些库可能会失败这里换成国内清华大学的源网的,加快软件包下载速度

2.1 命令行换源

sedis@^(deb.*stable main)$@#1ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termuxpackages-24 stable main@’ $PREFIX/etc/apt/sources.list

 

设置换源后,记得更新

pkg update

2.2 图形界面换源

在 Termux 中执行如下命令

termuxchange-repo 

图形界面引导下,使用自带方向键可上下移动
使用空格选择需要更换仓库然后选择 Mirrors by Tsinghua 镜像源。确认无误后回车,镜像源会自动完成更换。如下图所示

2.3 pip手动更改下载 

pip config set global.indexurl https://pypi.tuna.tsinghua.edu.cn/simple

三种换源方法,根据自已的喜好选择,随便选一种即可

软件安装

安装Python

pkg install python

pkg update && pkg upgrade

pandas安装

MATHLIB=”m” pip install pandas

注意:

由于pandas需要的numpy版本编译工具依赖不匹配,如果先安装numpy再安装pandas就会导致各种异常,所以直接不安装numpy即可,如果已安装了python的,先卸载python清理所有东西,再安装Python,我的版本是3.11.2,然后直接pkg update && pkg upgrade,再执行 MATHLIB=”m” pip install pandas即可。因为pandas需要numpy作为依赖,pandas发现没有安装numpy的时候,会自动适配安装numpy,这样就会装上正确适配pandasnumpy,而且numpy也会被正确的安装上。还有,你直接安装numpy在Python3.11.2的Termux环境下,也会直接错误numpy貌似没有专门维护这个问题

安装过程,如下图

 从上图红圈中,可以看出Pandas依赖的组件版本,有兴趣的朋友,不想卸载Python或重装Termux的,可以在现有的环境中尝试安装上面的组件看看能不能成功安装上Pandas,这只是猜想,没有经本人测试过的,不知是否可行。我的全部都是全新安装的。(2022-06-15更新

如果上述中的Pandas安装失败,可能是当前python环境和numpy兼容。可以使用以下的方法,按顺序安装:(2023-08-30更新

pkg install tur-repo

pkg install pythonnumpy

pkg install pythonpandas 

关于安装Jupyter安装失败的问题(2023-11-24更新

这里引用一下 qq_42783584 这位网友的解决方法(感谢您的分享): 

遇到的问题jupyter安装不了因为装不上rdpspy的依赖,rdpspy又依赖rust的maturin,而maturin装不上又因为rustcargo找不到aarch64-linuxandroidar的原因。

具体步骤如下

1. pkg install tur-repo
2. pkg install rust
3. pkg i binutilsisllvm
4. cargo install maturin
5. pip install jupyter

Matplotlib安装:

首先需要安装Matplotlib的依赖项,如下

#1、安装pillow依赖项

pkg install -y libjpeg-turbo libtiff

pip install pillow

#2、安装matplotlib依赖项

pkg install -y freetype libpng

pkg install matplotlib

安装过程测试,如下图:

  

注意:

matplotlib在安装时候也遇到了不少问题。一开始使用 pip install matplotlib 安装,到编译时候总是报错最后通过 pkg install matplotlib 才成功安装上去了。

如matplotlib仍然安装不成功的小伙伴,可以使用pyecharts来代替它。个人觉得pyecharts功能比matplotlib还要强大。安装方法如下:

pip install pyecharts

Matplotlib无法显示中文解决方法

import numpy as np
import matplotlib.pyplot as plt

#0-6的范围
x = np.array([0,6])
#0-100的范围
y = np.array([0,10])
plt.plot(x,y)
plt.xlabel("横坐标")
plt.ylabel("纵坐标")
plt.title("示例图形")
plt.show()

输出

 从上图可要看出,有中文的地方,都变成了方格。那么如何解决这个问题呢?

1、 从电脑网上下载一个中文字体本文中的字体我是从windows系统字体库中直接复制出来的。

2、 以字体simhai.ttf(黑体)为例,先将字体simhai.ttf文件复制到下面的目录

#复制前,先切换字体所在文件夹然后cp命令复制文件

cp -i simhei.ttf  /data/data/com.termux/files/usr/lib/python3.11/sitepackages/matplotlib/mpl-data/fonts/ttf

3、切换到/data/data/com.termux/files/usr/lib/python3.11/sitepackages/matplotlib/mpl-data找到matplotlibrc文件改修,如下

#去掉注释

font.family : sans-serif

#去掉注释,并在冒号后的值前添加前文提及的中文字体

font.sans-serif : DejaVu Sans, Bitstream Vera ……..

 如下图所示

 本文中使用的是nano编辑器,安装方法如下:

pkg install -y neovim

4、清除matplotlib缓存

rm  -rf  ~/.cache/matplotlib 

到此,matplotlib中文乱码问题解决了。

5、测试

import numpy as np
import matplotlib.pyplot as plt

#显示中文
plt.rcParams['font.sans-serif'] = ['simhei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False

#0-6的范围
x = np.array([0,6])
#0-100的范围
y = np.array([0,10])
plt.plot(x,y)
plt.xlabel("横坐标")
plt.ylabel("纵坐标")
plt.title("示例图形")
plt.show()

Jupyter Notebook

Jupyter Notebook(此前被称为 iPython notebook)可以在 Web 端提供Python交互,虽然和iPython 共享同⼀个内核,但是更强⼤。

想要成功安装Jupyter,安装下面所需的依赖包,依据下面的命令顺序执行完,就能安装成功。

pkg install -y libzmq libcrypt pkg-config

pip install clang

pip install ipython

pip install jupyter

 Jupyter Notebook就安装好了,先启动 notebook,在终端输入

jupyter notebook

然后会看到运⾏的⽇志,我们复制提示的URL,到浏览器打开

 

 OK 运⾏成功,那么回到 Termux ⾥⾯使⽤组合键 Ctrl + C -> 中⽌当前的 Jupyter 进程

Texmux权限设置

默认情况下Termux安装到手机后,是没有后台运行权限的。这时如果在浏览器运行jupyter notebook执行程序,需要在Termux和浏览器之间来回切换刷新才能显示结果。这样就会很麻烦了,那么有没有像电脑那样,在浏览器运行jupyter notebook,写完代码,按执行,直接显结果,不需要来回切换环境呢?答案:是有的。我们只需要在手机中打开设置“找到”应用启动管理“,然后把Termux应用自动管理关闭,再打开允许后台活动的设置就行。如下图所示

 这样就可以解决Termux和浏览器之间来回切换刷新才能显示结果问题了。

测试

 到此结束本文如对你有所帮助,希望能加个关注,点个赞,收藏下,谢谢。

原文地址:https://blog.csdn.net/qq_39312146/article/details/125303644

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_15803.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注