Skip to content

如何使用 Kiro 进行 Python 开发

Kiro 为 Python 项目提供强大的 AI 辅助开发功能,帮助您更高效地编写、调试和维护代码。

前置条件

在使用 Kiro 进行 Python 开发之前,请确保您已安装:

  • Python:为您的平台安装最新版本(推荐 Python 3.8+)
  • pip:Python 包安装器(随 Python 一起提供)
  • 虚拟环境:使用 venvvirtualenvconda 进行依赖管理
  • 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 根据需求和最佳实践创建项目结构。

示例提示:

markdown
"设置一个包含开发依赖的 requirements.txt"
"为我的 Django 应用程序配置 .env 文件"
"设置带有适当 __init__.py 文件的 Python 包结构"
"创建带有蓝图的 Flask 项目结构"
"组织我的数据科学项目,包含 notebook 和模块"
"为 FastAPI 项目创建包含 pytest 和 black 的 pyproject.toml"

代码分析和重构

Kiro 可以分析您的 Python 代码以识别问题并建议改进:

  • 代码质量分析:要求 Kiro 审查您的代码,查找潜在错误、性能问题或 PEP 8 合规性
  • 重构协助:获得提取函数、重命名变量或重构代码的帮助
  • 类型提示:Kiro 可以建议类型注解以提高代码清晰度并捕获错误

示例提示:

markdown
"分析这个函数的潜在错误和性能问题"
"重构这段代码以遵循 PEP 8 风格指南"
"为这个 Python 模块添加类型提示"
"将这段同步代码转换为使用 async/await"

调试协助

当您在 Python 代码中遇到错误时:

  • 错误解释:Kiro 可以用简单的语言解释 Python 回溯和错误消息
  • 解决方案建议:获得常见 Python 错误的可操作修复方案
  • 运行时调试:Kiro 可以帮助设置调试配置和断点

示例:

markdown
"解释这个 Python 错误:AttributeError: 'NoneType' object has no attribute 'split'"
"帮我调试这个返回 500 错误的 Django 视图"
"为什么我的 pandas DataFrame 操作这么慢?"

Steering

Steering 允许您为 Kiro 提供项目特定的上下文和指导原则。Kiro 可以生成您可以完善的 steering 文件:

  1. 产品简介 (product.md) - 包含产品信息、目的和关键功能
  2. 技术栈 (tech.md) - 详细说明技术、框架和开发指导原则
  3. 项目结构 (structure.md) - 提供项目组织方式的信息

对于 Python 项目,您可以创建额外的自定义 steering 文件以提供更具体的指导:

创建自定义 Steering 文件

使用以下说明向您的项目添加新的 steering 文档。

添加新的 steering 文档

  1. 导航到侧边栏中的 Kiro 视图。
  2. Agent Steering 部分,选择 + 按钮创建新的 steering 文件。
  3. 输入具有描述性标题的文件名。
  4. 按照 markdown 约定添加您的自定义 steering 内容。

自定义 steering 文件存储在 .kiro/steering/ 目录中,并在交互过程中被 Kiro 自动识别。

代码风格和约定

例如,您可以为项目定义自定义命名约定、文件结构或实践。创建 python-conventions.md steering 文件来定义您团队的编码标准:

markdown
Python 约定

命名约定
- 变量和函数使用 snake_case
- 类使用 PascalCase
- 常量使用 UPPER_SNAKE_CASE
- 使用解释用途的描述性名称

代码风格
- 遵循 PEP 8 指南
- 使用 Black 进行代码格式化
- 最大行长度为 88 个字符
- 为所有公共函数使用类型提示

文件结构
- 大型类每个文件一个类
- 在模块中分组相关函数
- 为包组织使用 __init__.py 文件
- 在 tests/ 目录中分离测试

文档
- 为所有公共函数和类使用文档字符串
- 遵循 Google 或 NumPy 文档字符串风格
- 在文档字符串中包含类型信息

框架特定指导原则

对于 Django 项目,创建 django-patterns.md steering 文件:

markdown
Django 开发指导原则

模型设计
- 使用描述性模型名称
- 为所有模型添加 __str__ 方法
- 对复杂查询使用模型管理器
- 遵循 Django 字段命名约定

视图结构
- 对复杂逻辑使用基于类的视图
- 对简单操作使用基于函数的视图
- 将业务逻辑保留在模型或服务中
- 使用适当的 HTTP 状态码

模板组织
- 有效使用模板继承
- 使用包含和标签保持模板 DRY
- 使用有意义的模板名称
- 按应用程序组织模板

性能最佳实践
- 对查询使用 select_related 和 prefetch_related
- 为频繁查询的字段实现数据库索引
- 对昂贵操作使用缓存
- 在开发中分析数据库查询

对于数据科学项目,创建 data-science-patterns.md steering 文件:

markdown
数据科学开发指导原则

Notebook 组织
- 使用清晰的章节标题和 markdown 单元格
- 保持 notebook 专注于单一分析
- 将可重用代码导出到 Python 模块
- 包含数据源文档

数据处理
- 在管道早期验证数据质量
- 使用一致的列命名约定
- 清楚地记录数据转换
- 明确处理缺失值

模型开发
- 使用交叉验证进行模型评估
- 使用清晰的版本控制跟踪实验
- 记录模型假设和限制
- 实现适当的训练/验证/测试分割

代码组织
- 分离数据处理、建模和可视化
- 为参数使用配置文件
- 为长时间运行的进程实现日志记录
- 使用需求文件创建可重现的环境

这些 steering 文件帮助 Kiro 生成遵循您团队特定约定和最佳实践的代码。

Agent Hooks

Kiro 的 Agent Hooks 可以自动化常见的 Python 开发任务:

  1. 导航到 Kiro 面板中的 Agent Hooks 部分
  2. 点击 + 按钮创建新的 hook
  3. 用自然语言定义 hook 工作流程

以下是一些 hook 示例:

测试生成 Hook

在保存 Python 文件时自动生成测试:

markdown
"创建一个在我保存新 Python 模块时生成 pytest 测试的 hook"

依赖更新 Hook

保持依赖项最新:

markdown
"创建一个检查过时 pip 包并建议更新的 hook"

代码检查 Hook

markdown
当保存 Python 文件时:
1. 在文件上运行 flake8 或 pylint
2. 报告任何风格或质量问题
3. 建议常见问题的修复方案
4. 如果缺少文档字符串则更新

虚拟环境 Hook

markdown
当修改 requirements.txt 或 pyproject.toml 时:
1. 检查虚拟环境是否已激活
2. 自动安装或更新依赖项
3. 报告任何依赖冲突
4. 如果需要则更新 requirements-dev.txt

使用 #docs 访问文档

Kiro 通过 #docs 引用系统提供对 Python 和流行框架文档的内置访问。这允许您快速将相关文档带入与 Kiro 的对话中。只需在聊天中输入 #docs 并从可用的文档源中选择,例如:

  • #Python - Python 语言文档
  • #Pytorch - PyTorch 框架文档
  • #PySide6 - 用于创建 GUI 的 Python 库

使用示例:

markdown
"#Python 如何有效使用上下文管理器?"
"#Pytorch 如何添加自定义操作符?"
"#PySide6 添加按钮的最佳方式是什么?"

您也可以使用 #URL 引用特定的文档 URL:

markdown
"#URL https://docs.python.org/3/library/asyncio.html"

调试问题

当您遇到问题时,Kiro 可以帮助诊断和修复:

  1. 内联聊天
    • 输入 Cmd/Ctrl + I 打开内联聊天。
    • 用自然语言要求 Kiro 帮助调试您的代码。
  2. 添加到聊天
    • 输入 Cmd/Ctrl + L 将当前文件添加到聊天。
    • 用自然语言要求 Kiro 帮助调试您的代码。
  3. 快速修复
    • 悬停在错误或警告上,然后选择 Quick fixAsk Kiro
    • Kiro 将自动将代码添加到聊天并开始调试。

资源

基于 MIT 许可证发布