开发指南
要求
| 名称 | 安装 | 目的 |
|---|---|---|
| Python 3.10-3.12 | 下载 | 该库是基于 Python 的。 |
| uv | 说明 | uv 用于 Python 代码库中的包管理和虚拟环境管理 |
入门
安装依赖项
执行索引引擎
执行查询
Azurite
一些单元测试和冒烟测试使用 Azurite 来模拟 Azure 资源。可以通过运行以下命令启动它:
或者,如果已全局安装 Azurite,则只需在终端中运行 azurite。有关如何安装和使用 Azurite 的更多信息,请参阅 Azurite 文档。
生命周期脚本
我们的 Python 包利用 uv 来管理依赖项,并利用 poethepoet 来管理构建脚本。
可用脚本如下:
uv run poe index- 运行索引 CLIuv run poe query- 运行查询 CLIuv build- 这将构建一个 wheel 文件和其他可分发工件。uv run poe test- 这将执行所有测试。uv run poe test_unit- 这将执行单元测试。uv run poe test_integration- 这将执行集成测试。uv run poe test_smoke- 这将执行冒烟测试。uv run poe test_verbs- 这将执行基本工作流的测试。uv run poe check- 这将对包执行一套静态检查,包括:- 格式化
- 文档格式化
- Linting(代码检查)
- 安全模式
- 类型检查
uv run poe fix- 这将对包应用所有可用的自动修复。通常这只是格式修复。uv run poe fix_unsafe- 这将对包应用所有可用的自动修复,包括那些可能不安全的修复。uv run poe format- 显式地对包运行格式化程序。
故障排除
运行 uv install 时出现 "RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config"
确保安装了 llvm-9 和 llvm-9-dev
sudo apt-get install llvm-9 llvm-9-dev
然后在你的 bashrc 中添加
export LLVM_CONFIG=/usr/bin/llvm-config-9