现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)

📅 发布时间:2026/8/10 12:24:11
现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)
课程视频【Python/uv】迈向AI的第零步现代化Python工具指南_哔哩哔哩_bilibiligithub仓库GitHub - Wood-Q/ModernPython: 现代化python入门教程 · GitHubnotion笔记https://mirage-thought-d06.notion.site/Python现代化工具基础ide代码编辑器VSCode官网https://code.visualstudio.com/底层uv快速Python包管理器解决Python的依赖管理且能以极快的速度安装包pip的高性能替代官方文档uv安装Windows系统在 PowerShell 里输入powershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iex​把 C:\Users\11842\.local\bin 编辑到环境变量​​放进环境变量之后每次打开一个PowerShell它就会自动把 uv 加载进来uv常用命令uv venv # 创建虚拟环境 (它会默认创建在 .venv 目录) .venv\Scripts\activate # 激活虚拟环境如果是 linux系统则为 .venv/bin/activate​uv venv my-env -p 3.11 # 指定环境名字和python版本 uv venv -p python3.11 # 使用 python3.11 创建 .venv # 仍需激活环境 uv init # 初始化一个uv项目会自动生成 main.py、pyproject.toml、README.md uv pip install xxx # 装包放到全局缓存里速度比pip快很多 uv add xxx # 把安装包从全局缓存拉到具体项目里uv add 之后pyproject.toml 文件的 dependencies 列表里会自动加上对应的包和版本uv sync # 如果有拉取一个uv的项目git clone xxx.git直接sync即可配置好环境 uv pip freeze requirements.txt # 生成一个包含所有已安装包及其精确版本的列表格式与 pip freeze 的输出相同常用于生成 requirements.txt 文件 uv pip install -r requirements.txt # 按照 requirements.txt 文件中列出的所有依赖包及其版本要求批量安装 Python 库pyproject.toml配置文件安装下面这个插件toml 文件就会语法高亮了pyproject.toml 是一个统一的 Python 项目配置文件静态的、声明性文件结构[build-system]想让别人可以通过 pip install xxx 来下载我的包才需要填这个告诉 pip 如何构建这个包[project]这个表几乎涵盖了所有需要声明的项目信息[project] name my-package # 项目名发布到PyPI时使用 version 0.1.0 # 项目版本 description A short description of my project. # 项目简短描述 readme README.md # 指定README文件 requires-python 3.9 # 要求的Python版本 # --- 核心依赖即 install_requires --- dependencies [ httpx, rich13.0.0, tomli; python_version 3.11, # 可以包含环境标记 ][tool.*]统一配置所有开发工具。每个工具都可以定义自己的配置表以 [tool.工具名] 的形式存在# --- ruff (linter/formatter) 的配置 --- [tool.ruff] line-length 88 # 设置行长限制 target-version py311 # 设定目标Python版本以应用相应规则 [tool.ruff.lint] # 选择要启用的规则集Epycodestyle错误, Fpyflakes, Iisort select [E, F, I] # 忽略特定的规则 ignore [E501]和 conda 的区别语法Ruff快速Python语法检查器作用配置编写 Python 项目所需要遵循的语法规则安装插件可进行语法提示​安装uv tool install ruff作用限制一行的长度、自动移除没有使用但导入的包或变量、自动排序 import 语句等等常用操作任务命令格式化我的代码ruff format .检查代码问题并自动修复ruff check . --fix在 CI/CD 中验证格式ruff format . --check在 CI/CD 中检查代码质量ruff check .开发时实时检查ruff check . --watch搞不清某条规则是什么意思ruff rule RULE_CODE清理缓存ruff cache clean终极清理ruff format . ruff check . --fix进阶配置在 pyproject.toml 里配置启用预览功能Ruff 的许多强大功能如类型感知 lint、更智能的自动修复目前处于 preview 模式需显式启用[tool.ruff] preview true或命令行启用ruff check --preview . ruff format --preview .细粒度规则控制Per-File / Per-Line # 忽略特定文件/目录 [tool.ruff.lint] extend-exclude [ migrations/, legacy_code.py, scripts/temp_*.py ] # 为特定文件启用/禁用规则 [[tool.ruff.lint.per-file-ignores]] tests/**.py [S101, D] # 忽略 asserts 和 docstring 规则 scripts/*.py [T20] # 忽略 print 警告pyproject.toml 配置lint.select 是规则集E501是行长的规则如 line-length10行长不能超过10exclude 表示以上规则忽略特定文件format 里 single 单引号double 双引号​最佳实践统一使用pyproject.toml进行配置将 Ruff 的所有配置集中在pyproject.toml的[tool.ruff]表中明确目标 Python 版本 (target-version)[tool.ruff] target-version py311 # 明确项目使用的 Python 版本从一个稳健的基础规则集开始不要一开始就想着启用所有规则。一个理智的起点是启用那些被广泛接受、能显著提升代码质量的核心规则集[tool.ruff] # E: pycodestyle 错误, F: Pyflakes 逻辑错误, I: isort 导入排序, UP: pyupgrade 语法升级 select [E, F, I, UP]拥抱自动修复将ruff check . --fix作为常规操作。Ruff 的自动修复非常安全可靠能处理掉大量琐碎的格式和代码问题类型Pyright静态类型检查器集成在 VSCode 的 Pylance 插件里​在设置里搜 Type Checking Mode可以配置 Basic、Standard、Strict 三档一般用 Basic 即可​守门pre-commitgit相关视频里没介绍就略了具体看 notion 笔记吧美化RichPython美化堆栈报错安装uv pip install rich如何美化堆栈报错在文件最前面写上from rich.traceback import install install()