使用 YABS 测试 RackNerd 性能时出现 Python 报错怎么修复

文章导读
在 RackNerd VPS 上运行 YABS 脚本出现 Python 报错,通常是因为系统缺少 Python 3 环境、pip 包管理器或网络连接中断。最推荐的处理方向是先用 root 权限安装 Python 3 及依赖,再重新执行测试脚本,注意不要使用 Python 2 环境。
📋 目录
  1. A 命令速用版
  2. B 为什么会这样
  3. C 分步处理
  4. D 怎么验证是否生效
  5. E 常见坑
  6. F 常见问题
  7. G 参考来源
A A

在 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。

使用 YABS 测试 RackNerd 性能时出现 Python 报错怎么修复

分步处理

  1. 检查 Python 版本

    输入python3 `--version`,如果显示 Command not found 或版本低于 3.6,需要安装。

  2. 安装依赖环境

    根据系统类型执行上方“命令速用版”中的安装命令。如果出现锁住提示(Could not get lock),等待 apt/yum 进程结束或重启 VPS。

  3. 检查网络连接

    执行ping -c 4 google.comping -c 4 github.com。如果无法解析域名,检查/etc/resolv.conf是否配置了有效 DNS,如 8.8.8.8。

  4. 清理旧脚本缓存

    如果之前下载过 yabs.sh,删除本地文件避免使用旧版本:rm -f yabs.sh

  5. 重新执行测试

    使用 curl 管道方式运行,确保获取最新脚本:curl -sL yabs.sh | bash -

    使用 YABS 测试 RackNerd 性能时出现 Python 报错怎么修复

怎么验证是否生效

观察终端输出,成功的标志是脚本完整跑完 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/