
Glances 安装指南pip、虚拟环境、Docker 与 Shell 补全全攻略【免费下载链接】glancesGlances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, macOS and Windows operating systems.项目地址: https://gitcode.com/gh_mirrors/gl/glancesGlances 是一款用 Python 编写的跨平台系统监控工具GNU/Linux、BSD、macOS、Windows 均可运行以top/htop替代品著称。本文基于仓库官方安装文档 docs/install.rst 编写完整覆盖 pip 标准安装、可选功能扩展、升级策略以及 Shell Tab 自动补全配置并结合 pyproject.toml、glances/main.py 等源码文件帮助你从能装上到装得明白快速在目标机器上落地一套可用的 Glances 监控环境。环境要求Python 版本与核心依赖Glances 4.x 采用现代 Python 开发。从 pyproject.toml 的[project]段可以看到requires-python 3.10最低要求 Python 3.10更高版本3.113.14均在其分类器中声明支持核心运行时依赖psutil5.6.7系统信息采集、defusedxml用于加固 xmlrpc、packaging版本比较、jinja2fetch 模式与模板渲染、shtabShell 自动补全非 Windows 平台、windows-curses仅 Windows 平台提供 Curses 终端实现。其中psutil 是 Glances 一切数据采集的基础也是安装时最容易出问题的环节。官方安装文档特别强调安装 psutil 需要 Python 头文件headers具体因发行版而异Debian/Ubuntu先安装python-dev新版系统常为python3-devFedora/CentOS/RHEL先安装python-develWindows无需编译直接使用 psutil 的二进制安装文件即可。如果跳过这一步pip 在编译 psutil 时会因缺少Python.h而失败。更省心的做法是直接安装发行版的 python3-psutil 包README 中推荐的最简单路径。方式一PyPI pip标准安装Glances 已发布到 PyPI通过 PyPI 安装可以确保拿到最新稳定版。官方文档给出的最小安装命令只有一条pip install glances安装完成后glances命令即被注册到 PATH 中。这个入口由 pyproject.toml 的[project.scripts]段声明glances glances:main实际启动逻辑位于 glances/init.py 的main()函数——它负责信号处理、初始化GlancesMain并根据参数选择 standalone、client、server 或 webserver 模式运行。注意默认安装不包含Web 界面WebUI依赖。也就是说pip install glances后直接运行glances -w启动 Web 服务是会缺依赖的需要按下面的方式补充。按需安装可选功能extrasGlances 把大量可选能力做成了 Python 包的 extra 依赖。官方文档推荐一条命令装全所有可选功能pip install glances[all]all会拉取 Web 界面、导出模块、GPU、容器监控、MCP 等全部可选依赖。不过更精细的做法是按需安装——以 pyproject.toml 的[project.optional-dependencies]为准当前仓库声明的 extras 如下Extra用途主要依赖摘自 pyproject.tomlwebWeb 服务器WebUI与 Web APIfastapi0.82.0、uvicorn、requests、python-jose[cryptography]export所有导出模块InfluxDB、Prometheus、Kafka、MongoDB 等influxdb、influxdb-client、prometheus_client、kafka-python、pymongo、pyzmq、pika、statsd 等containers容器监控Docker / Podman / LXDdocker6.1.1、podman、pylxd2.3.1gpuGPU 插件nvidia-ml-pymcpMCP 服务器AI 助手集成mcp1.0.0,2actionAction 脚本功能chevronbrowserGlances 浏览器 / 自动发现模式zeroconfcloudCloud 插件requestsgraphGraph 导出pygalraidRAID 插件仅 Linuxpymdstatsensors传感器插件电池等仅 Linuxbatinfosmart硬盘 SMART 插件pySMARTsnmpSNMP 支持pysnmp-lextudio6.2.0sparklinesSparklines 迷你图选项sparklineswifiWiFi 插件仅 Linuxwifi组合安装也很常见例如仅需要 Web 界面时可以写pip install glances[web]补充说明README 的特性清单中还有ip公共 IP 选项并在all中被引用但在当前 pyproject.toml 中并未单独声明ip这一 extra 段——从源码结构看这类选项的依赖通常被并入其他 extra如cloud/export用到的requests。如果你需要该能力直接使用glances[all]即可覆盖。升级 Glances 及其依赖官方文档给出的升级命令同样简单直接pip install --upgrade glances pip install --upgrade psutil pip install --upgrade glances[all]由于 psutil 是采集层核心且新版 Glances 可能依赖更新的 psutil 行为官方建议在使用glances[all]的情况下同步升级全部依赖。日常只需pip install --upgrade glances即可遇到插件异常时再考虑连带升级 psutil 与 extras。推荐实践在虚拟环境中安装直接向系统 Python 安装监控工具容易污染环境官方 README 的安装章节明确推荐在虚拟环境中使用 pipcd ~ python3 -m venv ~/.venv source ~/.venv/bin/activate pip install glances仓库也内置了基于 uv 的虚拟环境工程化方案见 Makefilemake venv创建包含全部 extras不含 dev 依赖的虚拟环境uv sync --all-extras --no-group devmake venv-min创建最小依赖虚拟环境uv syncmake venv-dev创建含开发依赖的环境并安装 pre-commit 钩子。此外仓库根目录的 run-venv.py 是一个指向.venv/bin/python的启动脚本可直接./run-venv.py方式启动 Glances适合在虚拟环境内调试时使用。其他安装方式一览官方文档在 README.rst 中补充了多种安装途径可按场景选用uvx魔法一行系统安装 uv 后uvx glances即可直接运行无需显式创建虚拟环境pipx隔离应用安装sudo apt install pipx后执行pipx install glances[all]脚本会装入~/.local/bin升级用pipx upgrade glancesDocker官方提供nicolargo/glances镜像标签分latest-fullAlpine 全依赖、latestAlpine 最小依赖 FastAPI/Docker、ubuntu-latest-full、dev开发分支可能不稳定等详细用法见 docs/docker.rst仓库也内置了可直接使用的 docker-compose/docker-compose.yml 与 docker-compose/docker-compose-tui.ymlHomebrew / MacPortsmacOS及 Linux可brew install glances或sudo port install glancesGNU/Linux 发行版软件包多数发行版仓库均有 Glances但官方不推荐——包版本往往滞后且通常只启用基础插件Debian 系软件包默认不含 Web 界面所需的 JS 静态文件FreeBSDpkg install pyXY-glancesX/Y 对应 Python 主/次版本如 Python 3.11 为py311-glances或从 Ports 编译cd /usr/ports/sysutils/py-glances/ make install cleanWindows先安装 Python3.4 自带 pip再走 pip 流程AndroidTermux需 root 设备apt install clang python后pip install fastapi uvicorn jinja2 glances可用-s或-w模式远程监控设备源码安装pip install https://github.com/nicolargo/glances/archive/vX.Y.tar.gz同样需要 Python 头文件以编译 psutil。Shell Tab 自动补全--print-completion从Glances 4.3.2开始命令行参数支持 Tab 自动补全由--print-completion选项生成补全脚本。官方文档给出的 Linux Bash 示例$ glances --print-completion bash | sudo tee -a /etc/bash_completion.d/glances $ source /etc/bash_completion.d/glances在当前仓库的版本中glances/init.py 中版本号为 4.5.xREADME 推荐的是更符合 XDG 规范的写法$ mkdir -p ${XDG_DATA_HOME:$HOME/.local/share}/bash-completion $ glances --print-completion bash ${XDG_DATA_HOME:$HOME/.local/share}/bash-completion/glances $ source ${XDG_DATA_HOME:$HOME/.local/share}/bash-completion/glances两种方式任选其一核心都是生成脚本 → 放入 shell 的补全加载目录 → source 生效。支持的 shell 有三种bash、zsh、tcsh生成时把参数换成对应 shell 名即可如glances --print-completion zsh。补全的源码实现--print-completion并非手写补全逻辑而是复用 Python 生态的shtab库把 argparse 解析器自动转换为补全脚本。在 glances/main.py 中可以看到try: import shtab except ImportError: shtab_tag False else: shtab_tag True随后在init_args()构造 argparse 解析器时if shtab_tag: shtab.add_argument_to(parser, [--print-completion])也就是说只有当环境里安装了 shtab 时--print-completion选项才会被注册。而 shtab 恰恰是 pyproject.toml 中声明的基础依赖shtab; platform_system ! Windows因此通过 pip 正常安装的 Linux/macOS 环境都会自动具备该能力Windows 平台不引入 shtab自然也没有该选项。更细节的一点是shtab 还参与了-C/--config参数的补全增强——当 shtab 可用时配置参数被标记为shtab.FILE类型Tab 补全会提示文件路径if shtab_tag: parser.add_argument(-C, --config, destconf_file, helppath to the configuration file).complete shtab.FILE安装后的验证与下一步安装完成后运行glances即可进入全屏 TUI 监控界面运行glances -w启动 Web 模式后浏览器访问http://ip:61208即可看到 WebUI该端口同时暴露 RESTful API。想确认安装是否完整可以尝试$ glances --version # 查看版本与 psutil 版本 $ glances --help # 查看全部可用参数配合 Tab 补全体验更佳如果希望进一步定制官方配置样例在 conf/glances.conf运行方式、命令参数详解见 docs/cmds.rst 与 docs/quickstart.rst常见问题可查阅 docs/faq.rst。总结一下pip 是官方主推的安装方式配合虚拟环境与按需 extras 即可兼顾稳定性与功能完整度升级时注意连带更新 psutil装完后用--print-completion为 bash/zsh/tcsh 生成补全脚本能显著提升命令行下的操作效率。【免费下载链接】glancesGlances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, macOS and Windows operating systems.项目地址: https://gitcode.com/gh_mirrors/gl/glances创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考