如何在VSCode中运行Anki源码及解决PB2模块导入报错
Anki开发环境配置与pb2文件导入问题解决
解决pb2文件导入错误
你遇到的导入错误是因为card_rendering_pb2这类文件不会直接出现在Anki源码中——它们是从Protocol Buffers(proto)定义文件编译生成的,按以下步骤处理:
- 安装protobuf编译器(Ubuntu环境):
sudo apt install protobuf-compiler - 安装Python的protobuf依赖库:
pip install protobuf - 进入Anki源码的
pylib/anki目录,执行编译命令生成pb2文件:
执行后,当前目录会生成你需要的所有protoc --python_out=. proto/*.proto*_pb2.py文件,此时再运行collection.py就能正常导入这些模块。
VSCode中配置Anki开发环境
1. 配置Python解释器
- 打开VSCode并将Anki源码的
pylib目录设为工作区 - 按下
Ctrl+Shift+P,输入Python: Select Interpreter,选择你用于Anki开发的Python环境(推荐使用虚拟环境隔离依赖)
2. 添加模块搜索路径
- 在VSCode设置中搜索
Python > Analysis: Extra Paths,添加pylib目录的绝对路径,确保VSCode能正确识别Anki的内部模块
3. 配置运行调试
- 在工作区创建
.vscode/launch.json文件,写入以下内容:
之后点击调试按钮即可运行{ "version": "0.2.0", "configurations": [ { "name": "Anki Collection调试", "type": "python", "request": "launch", "program": "${workspaceFolder}/collection.py", "console": "integratedTerminal", "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }collection.py,环境变量会自动把工作区加入Python路径,避免导入问题
4. 可选优化
- 安装VSCode的
Python插件和Protobuf插件,提升代码补全、语法高亮等开发体验
内容的提问来源于stack exchange,提问作者CS T
相关产品推荐
相关产品推荐

