路由器openwrt安装python
使用u盘当路由器的系统盘,一不小心碰到它,路由器又挂了。决定把U盘作为挂载盘安装软件
OpenWrt 根分区往往只有几十 MB,Python 和依赖一装就爆。把 opkg 指到 U 盘,大包装外置存储;根分区只留系统,U 盘掉了至少还能进路由改配置(比整盘 overlay 挂在 U 上安全一点,见文末后记)。
挂载U盘
LuCI 里挂载分区,记下挂载点(示例里是 /mnt/sda)。文件系统 ext4 比 fat 省心,权限不会乱。
启用挂载的设备
勾选「挂载」并写入 fstab,重启后自动挂上。
opkg包配置安装目录
增加一个opkg安装路径
在 opkg 配置里增加名为 usb(名字自定)的安装目标,路径指向 U 盘下的目录,例如 /mnt/sda/opkg。
配置PATH路径
装到 U 盘的二进制默认不在 PATH 里,要手动加:
export PATH=$PATH:/mnt/sda/opkg/usr//bin
echo 'export PATH=$PATH:/mnt/sda/opkg/usr/bin' >> /etc/profile
第一行 PATH 里多了一个 /,能跑但建议统一成 /mnt/sda/opkg/usr/bin。改完 source /etc/profile 或重登 SSH。
指定路径安装okpg包
opkg update
opkg -d usb install python3
opkg -d usb install python3-pip
请注意:-d usb为必需的,否则依旧会安装到根目录
usb 要和 opkg 里配置的 dest 名称一致。根分区可用 df -h 盯着,别装爆。
打开对应目录可以看到,已经多了一个opkg目录
输出python3,测试是否安装成功
which python3 应落在 U 盘路径下。
安装pip
python -m pip install -U --force pip
路由器 CPU 弱,pip 升级和装大包会慢,尽量挑轻量依赖。
安装python依赖
pip3 install requests
换国内源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
后记
现在换成挂载overlays了,直接在系统盘上面再套一层,避免u盘掉线后的系统启动不了的情况
overlay 方案读写都在 U 盘,空间更大,但 U 盘故障时整机起不来;外置 opkg 目录是折中:系统能 boot,只是外置软件暂时不可用。
参考文章
版权声明: 本文首发于 指尖魔法屋-路由器openwrt安装python(https://blog.thinkmoon.cn/post/979-router-guide-openwrt-python/) 转载或引用必须申明原指尖魔法屋来源及源地址!