如何使用 Kiro 进行 Python 开发
Kiro 为 Python 项目提供强大的 AI 辅助开发功能,帮助您更高效地编写、调试和维护代码。
前置条件
在使用 Kiro 进行 Python 开发之前,请确保您已安装:
- Python:为您的平台安装最新版本(推荐 Python 3.8+)
- pip:Python 包安装器(随 Python 一起提供)
- 虚拟环境:使用
venv
、virtualenv
或conda
进行依赖管理 - Git:用于版本控制和协作
扩展
Kiro 支持来自 Open VSX 的扩展,可以增强您的 Python 开发体验。以下是一些有用的扩展:
- Python - Python 语言支持,提供 IntelliSense (Pylance)、调试 (Python Debugger)、代码检查、格式化、重构、单元测试等扩展访问点。
- PyLint - 为 Python 文件提供代码检查支持。
- Jupyter - Jupyter notebook 支持,支持 Intellisense、调试等功能的交互式编程和计算。
- Python Debugger - Python 调试器 (debugpy) 扩展,为 Python 应用程序提供调试功能。
- Rainbow CSV - 高亮显示 CSV 和 TSV 文件,运行类 SQL 查询
您可以在 Kiro 中安装这些扩展,使用扩展面板并搜索上述列出的扩展名称。
使用您的环境
使用 Kiro,您可以利用聊天功能来设置新项目或处理现有项目。
项目配置和结构
Kiro 可以帮助您为 Python 项目设置和维护配置文件,并按照 Python 最佳实践组织您的项目。
- 初始化配置文件:要求 Kiro 根据项目初始化默认配置文件。
- 创建项目结构:要求 Kiro 根据需求和最佳实践创建项目结构。
示例提示:
"设置一个包含开发依赖的 requirements.txt"
"为我的 Django 应用程序配置 .env 文件"
"设置带有适当 __init__.py 文件的 Python 包结构"
"创建带有蓝图的 Flask 项目结构"
"组织我的数据科学项目,包含 notebook 和模块"
"为 FastAPI 项目创建包含 pytest 和 black 的 pyproject.toml"
代码分析和重构
Kiro 可以分析您的 Python 代码以识别问题并建议改进:
- 代码质量分析:要求 Kiro 审查您的代码,查找潜在错误、性能问题或 PEP 8 合规性
- 重构协助:获得提取函数、重命名变量或重构代码的帮助
- 类型提示:Kiro 可以建议类型注解以提高代码清晰度并捕获错误
示例提示:
"分析这个函数的潜在错误和性能问题"
"重构这段代码以遵循 PEP 8 风格指南"
"为这个 Python 模块添加类型提示"
"将这段同步代码转换为使用 async/await"
调试协助
当您在 Python 代码中遇到错误时:
- 错误解释:Kiro 可以用简单的语言解释 Python 回溯和错误消息
- 解决方案建议:获得常见 Python 错误的可操作修复方案
- 运行时调试:Kiro 可以帮助设置调试配置和断点
示例:
"解释这个 Python 错误:AttributeError: 'NoneType' object has no attribute 'split'"
"帮我调试这个返回 500 错误的 Django 视图"
"为什么我的 pandas DataFrame 操作这么慢?"
Steering
Steering 允许您为 Kiro 提供项目特定的上下文和指导原则。Kiro 可以生成您可以完善的 steering 文件:
- 产品简介 (
product.md
) - 包含产品信息、目的和关键功能 - 技术栈 (
tech.md
) - 详细说明技术、框架和开发指导原则 - 项目结构 (
structure.md
) - 提供项目组织方式的信息
对于 Python 项目,您可以创建额外的自定义 steering 文件以提供更具体的指导:
创建自定义 Steering 文件
使用以下说明向您的项目添加新的 steering 文档。
添加新的 steering 文档
- 导航到侧边栏中的 Kiro 视图。
- 在 Agent Steering 部分,选择
+
按钮创建新的 steering 文件。 - 输入具有描述性标题的文件名。
- 按照 markdown 约定添加您的自定义 steering 内容。
自定义 steering 文件存储在 .kiro/steering/
目录中,并在交互过程中被 Kiro 自动识别。
代码风格和约定
例如,您可以为项目定义自定义命名约定、文件结构或实践。创建 python-conventions.md
steering 文件来定义您团队的编码标准:
Python 约定
命名约定
- 变量和函数使用 snake_case
- 类使用 PascalCase
- 常量使用 UPPER_SNAKE_CASE
- 使用解释用途的描述性名称
代码风格
- 遵循 PEP 8 指南
- 使用 Black 进行代码格式化
- 最大行长度为 88 个字符
- 为所有公共函数使用类型提示
文件结构
- 大型类每个文件一个类
- 在模块中分组相关函数
- 为包组织使用 __init__.py 文件
- 在 tests/ 目录中分离测试
文档
- 为所有公共函数和类使用文档字符串
- 遵循 Google 或 NumPy 文档字符串风格
- 在文档字符串中包含类型信息
框架特定指导原则
对于 Django 项目,创建 django-patterns.md
steering 文件:
Django 开发指导原则
模型设计
- 使用描述性模型名称
- 为所有模型添加 __str__ 方法
- 对复杂查询使用模型管理器
- 遵循 Django 字段命名约定
视图结构
- 对复杂逻辑使用基于类的视图
- 对简单操作使用基于函数的视图
- 将业务逻辑保留在模型或服务中
- 使用适当的 HTTP 状态码
模板组织
- 有效使用模板继承
- 使用包含和标签保持模板 DRY
- 使用有意义的模板名称
- 按应用程序组织模板
性能最佳实践
- 对查询使用 select_related 和 prefetch_related
- 为频繁查询的字段实现数据库索引
- 对昂贵操作使用缓存
- 在开发中分析数据库查询
对于数据科学项目,创建 data-science-patterns.md
steering 文件:
数据科学开发指导原则
Notebook 组织
- 使用清晰的章节标题和 markdown 单元格
- 保持 notebook 专注于单一分析
- 将可重用代码导出到 Python 模块
- 包含数据源文档
数据处理
- 在管道早期验证数据质量
- 使用一致的列命名约定
- 清楚地记录数据转换
- 明确处理缺失值
模型开发
- 使用交叉验证进行模型评估
- 使用清晰的版本控制跟踪实验
- 记录模型假设和限制
- 实现适当的训练/验证/测试分割
代码组织
- 分离数据处理、建模和可视化
- 为参数使用配置文件
- 为长时间运行的进程实现日志记录
- 使用需求文件创建可重现的环境
这些 steering 文件帮助 Kiro 生成遵循您团队特定约定和最佳实践的代码。
Agent Hooks
Kiro 的 Agent Hooks 可以自动化常见的 Python 开发任务:
- 导航到 Kiro 面板中的 Agent Hooks 部分
- 点击 + 按钮创建新的 hook
- 用自然语言定义 hook 工作流程
以下是一些 hook 示例:
测试生成 Hook
在保存 Python 文件时自动生成测试:
"创建一个在我保存新 Python 模块时生成 pytest 测试的 hook"
依赖更新 Hook
保持依赖项最新:
"创建一个检查过时 pip 包并建议更新的 hook"
代码检查 Hook
当保存 Python 文件时:
1. 在文件上运行 flake8 或 pylint
2. 报告任何风格或质量问题
3. 建议常见问题的修复方案
4. 如果缺少文档字符串则更新
虚拟环境 Hook
当修改 requirements.txt 或 pyproject.toml 时:
1. 检查虚拟环境是否已激活
2. 自动安装或更新依赖项
3. 报告任何依赖冲突
4. 如果需要则更新 requirements-dev.txt
使用 #docs
访问文档
Kiro 通过 #docs
引用系统提供对 Python 和流行框架文档的内置访问。这允许您快速将相关文档带入与 Kiro 的对话中。只需在聊天中输入 #docs
并从可用的文档源中选择,例如:
- #Python - Python 语言文档
- #Pytorch - PyTorch 框架文档
- #PySide6 - 用于创建 GUI 的 Python 库
使用示例:
"#Python 如何有效使用上下文管理器?"
"#Pytorch 如何添加自定义操作符?"
"#PySide6 添加按钮的最佳方式是什么?"
您也可以使用 #URL
引用特定的文档 URL:
"#URL https://docs.python.org/3/library/asyncio.html"
调试问题
当您遇到问题时,Kiro 可以帮助诊断和修复:
- 内联聊天:
- 输入
Cmd/Ctrl + I
打开内联聊天。 - 用自然语言要求 Kiro 帮助调试您的代码。
- 输入
- 添加到聊天:
- 输入
Cmd/Ctrl + L
将当前文件添加到聊天。 - 用自然语言要求 Kiro 帮助调试您的代码。
- 输入
- 快速修复:
- 悬停在错误或警告上,然后选择
Quick fix
和Ask Kiro
。 - Kiro 将自动将代码添加到聊天并开始调试。
- 悬停在错误或警告上,然后选择