在 RackNerd VPS 上运行 YABS 脚本出现 Python 报错,通常是因为系统缺少 Python 3 环境、pip 包管理器或网络连接中断。最推荐的处理方向是先用 root 权限安装 Python 3 及依赖,再重新执行测试脚本,注意不要使用 Python 2 环境。
先说结论:绝大多数 Python 报错源于环境缺失或网络无法下载依赖,安装 Python 3 和 pip 即可解决。
- 先确认:检查当前 Python 版本是否为 3.x 且拥有 root 权限。
- 先处理:通过包管理器安装 python3、python3-pip 及 curl。
- 再验证:重新运行 YABS 命令,观察是否不再抛出 traceback 错误。
命令速用版
如果报错提示找不到 python 或 module,直接在终端执行以下对应系统的安装命令,完成后重新运行 YABS。
# Debian/Ubuntu 系统
apt update && apt install -y python3 python3-pip curl
# CentOS/AlmaLinux 系统
yum install -y python3 python3-pip curl
# 重新运行 YABS
curl -sL yabs.sh | bash -为什么会这样
YABS 脚本依赖 Python 3 运行特定测试模块,而部分最小化安装的 Linux 系统默认未预装 Python 3 或 pip。
报错本质是脚本调用了解释器不存在的命令,或无法导入 speedtest-cli、iperf3 等第三方库。RackNerd 提供的 VPS 模板通常是最小化安装,为了节省资源未包含完整开发工具链,因此手动补全环境是必要步骤。网络问题也会导致 pip 安装依赖失败,从而引发 ImportError。
分步处理
- 检查 Python 版本
输入
python3 `--version`,如果显示 Command not found 或版本低于 3.6,需要安装。 - 安装依赖环境
根据系统类型执行上方“命令速用版”中的安装命令。如果出现锁住提示(Could not get lock),等待 apt/yum 进程结束或重启 VPS。
- 检查网络连接
执行
ping -c 4 google.com或ping -c 4 github.com。如果无法解析域名,检查/etc/resolv.conf是否配置了有效 DNS,如 8.8.8.8。 - 清理旧脚本缓存
如果之前下载过 yabs.sh,删除本地文件避免使用旧版本:
rm -f yabs.sh。 - 重新执行测试
使用 curl 管道方式运行,确保获取最新脚本:
curl -sL yabs.sh | bash -。
怎么验证是否生效
观察终端输出,成功的标志是脚本完整跑完 CPU、磁盘、网络三项测试并输出最终评分表格。
- 成功标志:看到"Yet Another Bench Script"结尾的总结表格,无红色 Traceback 报错。
- 失败标志:出现"ModuleNotFoundError"、"PermissionError"或脚本中途断开。
- 日志检查:如果脚本生成日志文件,查看当前目录下的 txt 文件确认是否有中断记录。
常见坑
- Python 2 干扰:部分旧系统默认 python 命令指向 Python 2,YABS 必须用 Python 3,确保调用的是 python3。
- 磁盘空间不足:如果 VPS 磁盘已满,pip 安装依赖会失败,使用
df -h检查可用空间。 - 防火墙拦截:某些机房防火墙可能限制脚本下载外部资源,尝试更换 DNS 或稍后重试。
- 非 root 用户:不要使用普通用户运行,必须切换到 root 或使用 sudo,否则无法安装依赖。
常见问题
报错 ModuleNotFoundError: No module named 'xxx' 怎么解决?
这是缺少 Python 库导致的,运行pip3 install 缺失的模块名或重新安装 python3-pip 后重试脚本。
为什么提示 Permission denied?
当前用户没有执行权限,请在命令前加 sudo 或切换到 root 用户后再运行 YABS 脚本。
脚本运行一半卡住不动怎么办?
通常是网络测试环节超时,按 Ctrl+C 终止,检查 VPS 到外网的连通性,或添加 YABS 参数跳过特定测试。
参考来源
- GitHub - masonr/yet-another-bench-script: 官方脚本仓库,说明运行依赖 Python 3。
URL: https://github.com/masonr/yet-another-bench-script - LowEndTalk Community Discussions: 用户关于 VPS benchmark 脚本环境问题的讨论汇总。
URL: https://www.lowendtalk.com/