如何使用 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 将自动将代码添加到聊天并开始调试。
- 悬停在错误或警告上,然后选择