似乎'V1Event'在Kubernetes Python客户端库中缺失,无法再导入

0 投票
2 回答
40 浏览
提问于 2025-04-13 15:19

看起来 'V1Event' 在 Python 的 Kubernetes 客户端库中缺失了,无法再导入了。

以前是这样导入的:

from kubernetes.client import (
    V1ContainerState,
    V1ContainerStateRunning,
    V1ContainerStateTerminated,
    V1ContainerStateWaiting,
    V1ContainerStatus,
    V1Event,
)

但是现在在 Kubernetes 版本 26.1.0 中,导入时会出现以下错误:

home/dev/ .tox/run-tests/lib/python3.8/site-packages/_pytest/config/__init__.py:325: PluggyTeardownRaisedWarning: A plugin raised an exception during an old-style hookwrapper teardown.

Plugin: helpconfig, Hook: pytest_cmdline_parse

ConftestImportFailure: ImportError: cannot import name 'V1Event' from 'kubernetes' (/home/dev/ .tox/run-tests/lib/python3.8/site-packages/kubernetes/__init__.py) (from /home/dev/ tests/conftest.py)

For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning

  config = pluginmanager.hook.pytest_cmdline_parse(

ImportError while loading conftest '/home/dev/ tests/conftest.py'.

tests/conftest.py:19: in <module>

    from .mockubernetes_utils import Mocks

tests/mockubernetes_utils.py:19: in <module>

    from kubernetes import  V1Event

E   ImportError: cannot import name 'V1Event' from 'kubernetes' (/home/dev/ .tox/run-tests/lib/python3.8/site-packages/kubernetes/__init__.py)

run-tests: exit 4 (3.43 seconds) /home/dev > pytest --ignore target/ --cov --cov-report=html --cov-report=xml pid=24115

我尝试从 kubernetes.client.models 导入它,但结果还是一样。

import kubernetes.client.models
ConftestImportFailure: ModuleNotFoundError: No module named 'kubernetes.client.model' (from /home/dev/ tests/conftest.py)

想了解更多信息,请查看

https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning

  config = pluginmanager.hook.pytest_cmdline_parse(

ImportError while loading conftest '/home/dev/ tests/conftest.py'.

tests/conftest.py:19: in <module>

    from .mockubernetes_utils import Mocks

tests/mockubernetes_utils.py:18: in <module>

    from kubernetes.client.model import V1Event

E   ModuleNotFoundError: No module named 'kubernetes.client.model'

2 个回答

0

试着使用


from kubernetes.client import ( CoreV1Event, CoreV1EventList) 

从第19版开始,这个已经有所改变了

0

这个库的名字改成了CoreV1Event,但导入的路径还是一样的。

撰写回答