迁移测试文件后Bazel构建Python项目遇pydantic导入错误求助
Bazel迁移pydantic_utils模块时的导入错误诊断求助
我正在将大型项目迁移至Bazel,先从项目中基于pydantic的小型封装模块pydantic_utils入手。初始目录结构下添加BUILD.bazel文件后测试运行正常,但将test_some_module.py移至根目录、调整BUILD文件中py_library和py_test的srcs配置后,出现错误:pydantic无法导入TYPE_CHECKING,报错信息显示在导入re时触发ImportError,请求帮助诊断。
初始目录结构
pydantic_utils +- __init__.py +- some_module.py +- some_other_module.py +- subdir +- one.py +- tests +- __init__.py +- test_some_module.py
修改后的BUILD.bazel内容
load("@rules_python//python:defs.bzl", "py_library", "py_test") load("@my_pip_install//:requirements.bzl", "requirement") py_library( name = "pydantic_utils", srcs = glob( ["*.py"], exclude = ["test_*.py"], ), visibility = ["//visibility:public"], deps = [ "//pydantic_utils/subdir", requirement("pydantic"), ], ) py_test( name = "test_pydantic_utils_dp", srcs = glob([ "test_*.py", ]), main = "test_some_module.py", deps = [ "//pydantic_utils", requirement("pytest"), ], )
报错信息
...pydantic_utils/test_some_module.py", line 2, in <module> from typing import Any ... File "pydantic/__init__.py", line 2, in init pydantic.__init__ from .models import ( File "pydantic/dataclasses.py", line 1, in init pydantic.dataclasses import re ImportError: cannot import name TYPE_CHECKING
内容的提问来源于stack exchange,提问作者Ibolit
相关产品推荐
相关产品推荐

