前言:
网上很多关于Termux安装Matplotlib、Pandas的教程,都是依赖Python3.10或Python3.9以下的环境。今年,Termux官方又将Python升级到3.11.2之后,很多的安装方法都失效了。
环境搭建:
Python版本:3.11.2
1、安装Termux(0.118)
官网下载地址:Termux | F-Droid – Free and Open Source Android App Repository
2、换源,由于Termux官方的源网有点慢,后期安装一些库可能会失败,这里换成国内清华大学的源网的,加快软件包下载速度。
sed –i ‘s@^(deb.*stable main)$@#1ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux–packages-24 stable main@’ $PREFIX/etc/apt/sources.list
2.2 图形界面换源
在图形界面引导下,使用自带方向键可上下移动。
使用空格选择需要更换的仓库,然后选择 Mirrors by Tsinghua 镜像源。确认无误后回车,镜像源会自动完成更换。如下图所示:
pip config set global.index–url https://pypi.tuna.tsinghua.edu.cn/simple
软件安装
安装Python
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,这样就会装上正确适配了pandas的numpy,而且numpy也会被正确的安装上。还有,你直接安装numpy在Python3.11.2的Termux环境下,也会直接错误,numpy貌似没有专门维护这个问题
从上图红圈中,可以看出Pandas依赖的组件及版本,有兴趣的朋友,不想卸载Python或重装Termux的,可以在现有的环境中尝试安装上面的组件,看看能不能成功安装上Pandas,这只是猜想,没有经本人测试过的,不知是否可行。我的全部都是全新安装的。(2022-06-15更新)
如果上述中的Pandas安装失败,可能是当前python环境和numpy不兼容。可以使用以下的方法,按顺序安装:(2023-08-30更新)
关于安装Jupyter安装失败的问题(2023-11-24更新)
这里引用一下 qq_42783584 这位网友的解决方法(感谢您的分享):
遇到的问题是jupyter安装不了因为装不上rdps–py的依赖,rdps–py又依赖rust的maturin,而maturin装不上又因为rust的cargo找不到aarch64-linux–android–ar的原因。
1. pkg install tur-repo
2. pkg install rust
3. pkg i binutils–is–llvm
4. cargo install maturin
5. pip install jupyter
Matplotlib安装:
#1、安装pillow依赖项
pkg install -y libjpeg-turbo libtiff
#2、安装matplotlib依赖项
注意:
matplotlib在安装时候也遇到了不少问题。一开始使用 pip install matplotlib 安装,到编译时候总是报错。最后是通过 pkg install matplotlib 才成功安装上去了。
如matplotlib仍然安装不成功的小伙伴,可以使用pyecharts来代替它。个人觉得pyecharts功能比matplotlib还要强大。安装方法如下:
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 -i simhei.ttf /data/data/com.termux/files/usr/lib/python3.11/site–packages/matplotlib/mpl-data/fonts/ttf
3、切换到/data/data/com.termux/files/usr/lib/python3.11/site–packages/matplotlib/mpl-data找到matplotlibrc文件改修,如下
如下图所示:
pkg install -y neovim
rm -rf ~/.cache/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,安装下面所需的依赖包,依据下面的命令按顺序执行完,就能安装成功。
Jupyter Notebook就安装好了,先启动 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进行投诉反馈,一经查实,立即删除!