👋 介绍:厌倦了笨重的 Python 开发工作流程?
让我们面对现实——Python 项目很容易就会变得混乱。
📦 依赖地狱
🔧 到处都是 Linter 警告
🤯 麻烦的 Git 提交
如果这让你感到熟悉,你并不孤单。
但是,如果你可以使用 Python、Git 和三个尖端工具——uv
、ruff
和 ty
,来实现一个快速、现代且高效的工作流程呢?
在本指南中,我们将介绍一个真实世界的、可投入生产的设置,它可以节省时间、避免错误,并保持你的代码库整洁。
让我们开始吧。🏊♂️
🧰 技术栈:uv
、ruff
和 ty
是什么?
uv
– 快速的依赖管理
一个超快速的 Python 包管理器和安装器。可以把它看作是增强版的
pip
。
- 用 Rust 编写以提高性能
- 比
pip
快 10 倍 - 可替代
pip
和virtualenv
的工具
ruff
– 闪电般快速的代码检查和格式化工具
一个工具用于检查、格式化和修复你的 Python 代码。
- 结合了
flake8
、black
、isort
等工具 - 即时反馈
- 零配置(但高度可定制)
ty
– 自动生成的提交信息,使用 AI
停止编写无聊的提交信息。让
ty
使用基于 GPT 的 AI 生成有意义的提交信息。
- 支持 Git
- 智能总结代码更改
- 完全可定制的提交风格
⚙️ 设置终极 Python + Git 工作流程
让我们构建一个你会喜欢的工作流程。
🛠️ 第一步:安装你的工具
\
bash curl -Ls https://astral.sh/uv/install.sh | bash pip install ruff pip install ty \
\
第二步:初始化你的Python项目
\
bash mkdir my-awesome-app cd my-awesome-app uv venv source .venv/bin/activate uv pip install -r requirements.txt \
\
无需使用pip
。uv
处理虚拟环境 和 包管理。
第三步:使用 ruff 自动格式化和检查代码
创建配置文件:
\
`mlto pyproject.toml [tool.ruff] line-length = 88 select = ["E", "F", "I", "N", "UP", "TID", "B"] ignore = ["E501"] # 示例:忽略长行 `\
运行:
\
bash
ruff check .
ruff format .
\\
你刚刚:
-
- 检查了你的代码
-
- 自动格式化了它
-
- 节省了数小时的手动修复时间
💾 第四步:使用 ty
进行智能提交
无需编写提交信息:
\
bash
ty commit
\\
Ty 使用 AI 来:
- 分析你的
git diff\
- 编写提交信息
- 在提交前与您确认
这就像有一个理解您代码的助手。
🔄 完整工作流程示例
- 🧪 编写或编辑您的 Python 文件
- 🧼 运行
ruff check . && ruff format .\
- ✅ 运行您的测试
- 🤖 使用
ty commit\
进行上下文提交 - 🔄 推送到 GitHub
您完成了——拥有更少的错误、更好的格式和可读的提交。
📈 现实世界的好处
✅ 更快的开发时间
uv\
在几秒钟内安装包
✅ 更干净的代码
ruff\
在一个工具中处理 10+ 个代码检查器/格式化工具
✅ 更智能的 Git
ty\
消除了编写提交信息的摩擦
✅ 更好的协作
您的团队成员会喜欢您干净的差异和原子提交
🤔 常见问题
问:这个设置适合初学者吗?
是的!一旦安装,每个工具都易于使用。最小的配置,最大的收益。
问:我可以在 pre-commit 中使用 ruff
吗?
当然可以。只需将 ruff
添加到 .pre-commit-config.yaml
中即可。
问:ty
安全吗?它会泄露我的代码吗?
ty
在本地工作。如果使用 AI,则需要选择加入。你可以控制它。
问:uv
和 pip
有什么区别?
uv
更快,管理虚拟环境,并从缓存中构建轮子。非常适合现代开发者。
🎯 结论:更聪明地构建,而不是更努力
通过结合 uv
、ruff
和 ty
,你可以解锁:
- 一个 快速、干净且协作的 Python 开发体验
- 更少的错误、更干净的代码以及更有思考的 Git 历史
- 一个与你和你的团队共同扩展的设置
🚀 今天就试试这个——再也不回到你旧的设置了。
✅ 轮到你了!
🔧 准备好升级你的 Python + Git 工作流了吗?
📤 与你的开发团队分享这个
💬 留下你最喜欢的工具的评论