当前位置: 首页 > news >正文

pydantic.error_wrappers.ValidationError: 1 validation error for Lockfile

在编辑构建chipyard环境时,运行./build-setup.sh命令报错。报错信息如下:

(base) oem@core:~/Desktop/chipyard$ ./build-setup.sh riscv-tools
 ========== BEGINNING STEP 1: Conda environment setup ==========
Using lockfile: /home/oem/Desktop/chipyard/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
Traceback (most recent call last):
  File "/home/oem/miniconda3/bin/conda-lock", line 11, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/conda_lock/conda_lock.py", line 1497, in click_install
    install(
  File "/home/oem/miniconda3/lib/python3.12/site-packages/conda_lock/conda_lock.py", line 1544, in install
    with _render_lockfile_for_install(
  File "/home/oem/miniconda3/lib/python3.12/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/conda_lock/conda_lock.py", line 988, in _render_lockfile_for_install
    lock_content = parse_conda_lock_file(pathlib.Path(filename))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/conda_lock/lockfile/__init__.py", line 145, in parse_conda_lock_file
    lockfile = lockfile_v1_to_v2(LockfileV1.parse_obj(content))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/pydantic/main.py", line 1223, in parse_obj
    return cls.model_validate(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/oem/miniconda3/lib/python3.12/site-packages/pydantic/main.py", line 627, in model_validate
    return cls.__pydantic_validator__.validate_python(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for Lockfile
package.416.optional
  Field required [type=missing, input_value={'dependencies': {'typing...', 'version': '1.10.14'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.10/v/missing
build-setup.sh: Build script failed with exit code 1 at step 1: Conda environment setup

pydantic_core._pydantic_core.ValidationError: 1 validation error for Lockfile
package.416.optional
Field required [type=missing, input_value={‘dependencies’: {‘typing…’, ‘version’: ‘1.10.14’}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/missing
build-setup.sh: Build script failed with exit code 1 at step 1: Conda environment setup

大概就是在说,解析锁定文件(.conda-lock.yml)时,使用的 Pydantic 模型验证失败了。错误信息指出,在处理锁定文件中某个包(package.416)的数据时,缺少必需的字段(optional 字段),导致验证错误。

解决办法:尝试降低 conda-lock的版本,降低到1.4.0版本。具体如下(ubantu下):

conda-lock --version #查看当前conda-lock的版本
pip uninstall conda-lock #卸载当前版本
pip install conda-lock==1.4.0 #下载1.4.0版本的conda-lock

参考资料:https://discuss.python.org/t/validation-error/27335

相关文章:

  • 算法题(119):高精度减法
  • Linux基础IO(一)之回顾C语言文件接口
  • Base64是密码吗?编码与加密的本质区别
  • 2018年真题
  • Java 三大特性—多态
  • 海外直播平台交互设计师简历模板
  • 【PVR Review】《Review of Deep Learning Methods for Palm Vein Recognition》
  • 新HTML5
  • 4.3-1 jenkins安装
  • 全国大学生数学建模竞赛赛题深度分析报告(2010-2024)
  • MySQL学习笔记(四)——DML和DQL
  • 智能手表该存什么音频和文本?场景化存储指南
  • 《算法笔记》10.3小节——图算法专题->图的遍历 问题 B: 连通图
  • 测开八股收集
  • 【C++编程基础-关键字】:define和inline的区别
  • 在 Ubuntu 下通过 Docker 部署 PSQL 服务器的详细技术博客
  • codeforces B. Large Array and Segments
  • 【漫话机器学习系列】184.正态分布(Normal Distribution)
  • 青少年编程与数学 02-015 大学数学知识点 05课题、优化理论
  • zk源码—2.通信协议和客户端原理二
  • 媒体刊文:“假官号”层出不穷,平台要当好把关人
  • 太平人寿党委书记赵峰调任海南省政府党组成员
  • 国家统计局督察组:江苏有关地区仍存在干预数据上报等问题
  • 上海普陀:原则同意将工业河更名为同济湾河
  • 自然资源部:适应存量时代城市更新发展,严控增量盘活存量
  • 4名中学生同服处方药后身体不适,一心堂一药店未凭处方售药被罚1万元