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 数据库。可以尝试以下步骤解决问题:
-
检查 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
-
检查 terminfo 数据库路径:
验证 terminfo 数据库目录是否存在:
shls /usr/share/terminfo # 或者 ls /lib/terminfo
-
设置 TERMINFO 环境变量:
如果 terminfo 文件在非标准位置,可以设置 TERMINFO 环境变量指向正确的目录:
pythonexport TERMINFO=/path/to/terminfo
将此行添加到你的 shell 初始化文件(如 .bashrc 或 .zshrc)中以使设置永久生效。
-
重新安装或重新配置 curses:
如果问题依旧,可以尝试重新安装或重新配置 curses 库:
sh# Debian/Ubuntu 系统: sudo apt-get install --reinstall ncurses-base ncurses-bin # Red Hat/Fedora 系统: sudo dnf reinstall ncurses
-
检查兼容性问题:
确保 curses 库的版本与终端或系统配置兼容。
-
运行终端设置工具:
如果使用的是特定的终端模拟器或环境,请确保其配置正确,运行终端设置工具可能有助于解决问题。
-
检查权限:
确保你有权限访问 terminfo 数据库和相关文件。
快速方案
在shell环境中正确设置了TERM环境变量:
python
export TERM="xterm-256color"
export TERMINFO="${CONDA_PREFIX}/share/terminfo"
# 重启 nvitop
nvitop