KeyError:安装软件包时出现'vendor_id'

Posted

技术标签:

【中文标题】KeyError:安装软件包时出现\'vendor_id\'【英文标题】:KeyError: 'vendor_id' when installing packagesKeyError:安装软件包时出现'vendor_id' 【发布时间】:2022-01-16 21:20:48 【问题描述】:

我正在尝试进行镜头校正,但我遇到了第一道障碍。运行以下代码后,我收到此错误...

#Install required packages

!pip install opencv-python
import cv2
import numpy as np
import pathlib
!pip install chessboard
from chessboard import calibrate_chessboard
from utils import load_coefficients, save_coefficients

KeyError                                  Traceback (most recent call last)
<ipython-input-19-0a40b3424bef> in <module>()
      6 import pathlib
      7 get_ipython().system('pip install chessboard')
----> 8 from chessboard import calibrate_chessboard
      9 from utils import load_coefficients, save_coefficients

2 frames
/usr/local/lib/python3.7/dist-packages/chessboard/benchmark.py in Benchmark()
    105         ('machine', platform.machine()),
    106         # CPU.
--> 107         ('cpu_vendor', cpu_info['vendor_id']),
    108         ('cpu_model', cpu_info['brand']),
    109         ('cpu_freq_actual', cpu_info['hz_actual'][0]),

KeyError: 'vendor_id'

有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

看起来你正在使用outdated package chessboard, not updated since 2017,repo 现已存档。

It rely on 另一个包py-cpuinfo。有this issue。密钥 vendor_id 现在替换为 vendor_id_raw。注意 setup.py for chessboard does not specify version for py-cpuinfo,所以我猜你使用的是最新的。

解决问题的一种方法是在更改之前使用特定的旧版本 py-cpuinfo。 py-cpuinfovendor_id 的最新版本是 5.0.0。最新chessboard发布日期之前的最新版本是3.3.0

另一种选择是尝试在 chessbeoard 包内的任何位置将密钥 vendor_id 替换为 vendor_id_raw

我更喜欢第二个选项,因为 chessboard 不再开发。无论如何,请注意可能存在其他问题或不受欢迎的行为。

【讨论】:

我很难在网上找到包裹的详细信息,这让我觉得它不可用。我会按照您的建议进行更改 - 感谢您的帮助! pypi.org/project/py-cpuinfo/#history py-cpuinfovendor_id 的最新版本是5.0.0。最新chessboard更新日期之前的最新版本是3.3.0

以上是关于KeyError:安装软件包时出现'vendor_id'的主要内容,如果未能解决你的问题,请参考以下文章

使用 keras.utils.Sequence 和 keras.model.fit_generator 时出现 KeyError。

KeyError:使用 Trepan3k 时出现“深蓝色”

打开远程 zarr 商店时出现 KeyError '.zmetadata'

Key存在时出现KeyError

启动 tryton 客户端时出现 KeyError 'res.user'

将文件发送到 django 时出现 Keyerror/MultiValueDictKeyError