「bug」nvitop ERROR: Failed to initialize curses

nvitop 作为一个优秀个 Nvidia显卡查询库,简单易用且显示信息十分丰富,相比 Nvidia-smi 更方便,简直是每个 开发人员必备的库,安装也十分方便,直接采用 pip install nvitop 即可,调用的时候也是直接在 Terminal 中输入 nvitop 即可,按 Q 键即可退出 nvitop

Linux、Windows和Mac 系统均可以使用,安装和使用方法一样

nvitop 虽好用,但难免出问题,在此记录下 ERROR: Failed to initialize curses (setupterm: could not find terminfo database) 的解决方法:

这个错误表明 curses 库无法初始化,因为找不到 terminfo 数据库。可以尝试以下步骤解决问题:

  1. 检查 ncurses 是否安装:

    确保 ncurses 库已安装。使用适当的包管理器进行安装:

    sh 复制代码
    # Debian/Ubuntu 系统:
    sudo apt-get update
    sudo apt-get install ncurses-bin libncurses5-dev libncursesw5-dev
    
    # Red Hat/Fedora 系统:
    sudo dnf install ncurses ncurses-devel
    
    # macOS(使用 Homebrew):
    brew install ncurses
  2. 检查 terminfo 数据库路径:

    验证 terminfo 数据库目录是否存在:

    sh 复制代码
    ls /usr/share/terminfo
    # 或者
    ls /lib/terminfo
  3. 设置 TERMINFO 环境变量:

    如果 terminfo 文件在非标准位置,可以设置 TERMINFO 环境变量指向正确的目录:

    python 复制代码
    export TERMINFO=/path/to/terminfo

    将此行添加到你的 shell 初始化文件(如 .bashrc 或 .zshrc)中以使设置永久生效。

  4. 重新安装或重新配置 curses:

    如果问题依旧,可以尝试重新安装或重新配置 curses 库:

    sh 复制代码
    # Debian/Ubuntu 系统:
    sudo apt-get install --reinstall ncurses-base ncurses-bin
    
    # Red Hat/Fedora 系统:
    sudo dnf reinstall ncurses
  5. 检查兼容性问题:

    确保 curses 库的版本与终端或系统配置兼容。

  6. 运行终端设置工具:

    如果使用的是特定的终端模拟器或环境,请确保其配置正确,运行终端设置工具可能有助于解决问题。

  7. 检查权限:

    确保你有权限访问 terminfo 数据库和相关文件。

快速方案

在shell环境中正确设置了TERM环境变量:

python 复制代码
export TERM="xterm-256color"
export TERMINFO="${CONDA_PREFIX}/share/terminfo"

# 重启 nvitop
nvitop
相关推荐
武子康25 分钟前
SGLang 回答慢,时间究竟花在了哪里?
人工智能·llm·agent
Patrick在香港26 分钟前
Claude + Python 数据管道:一次字段改名,786 行历史数据被静默重写
开发语言·windows·python·claude·数据工程·数据校验·数据管道
2601_9622974836 分钟前
基于LangChain+LLM大模型+机器学习的恶意域名(流量)智能检测系统
机器学习·langchain·llm·恶意域名·流量检测
the局外人44 分钟前
学习 FastAPI 的 Day 3:企业级目录与数据库迁移
后端·python·fastapi
Ray13331 小时前
交付级定时数据管道:改 JSON 声明调度,84 个单测全绿
python
mldong1 小时前
AI Agent 不能自己签字:用 Python 工作流引擎给 AI 加一道人类审批闸门
后端·python·agent
青少儿编程课堂1 小时前
贪心算法进阶:区间调度与最少资源整合解析
c++·python·算法·贪心·信息学竞赛·区间调度
Yanjun2i1 小时前
Agent学习记录六:Tool 类 + Tool Registry
开发语言·python·学习
流浪0011 小时前
大模型技术全景(八):MCP,大模型的“万能插头“——一次集成处处运行
llm
2601_962381861 小时前
Python异步编程async/await核心用法
python·async/await·事件循环·异步编程·并发调度