提问者:小点点

突然的重要错误:无法从管道上的“请求”导入名称“appengine”。urllib3. contrib错误


我的管道和调度程序运行顺利,没有任何问题。出去吃午饭后,我更改了神经网络将运行的纪元数,再次保存. yaml文件并将其留在名为“预算”的存储桶中。

后来,一切都停止了工作。

有错误,我对它们是如何出现的一无所知。组件中的代码似乎甚至没有开始。我制作了几个不同的组件,但没有任何成功,因为它们只是在这一步失败了。

如果有帮助,我安装了kfp--pre并像这样导入

import kfp.v2.dsl, kfp.v2.compiler
from kfp.v2.dsl import Artifact, Dataset, Input, Metrics, Model, Output

kfp-2.0.0-beta.15-这是在VertexAi上运行的kfp版本,我正在使用带有@kfp. v2.dsl.组件的Kubeflow。

我试着运行我的管道。强制在调度程序上运行。当它不起作用时,我只是在笔记本上尝试。


共3个答案

匿名用户

我今天遇到了同样的问题,我摸不着头脑。我发现在组件装饰器的packages_to_install参数中添加appengine-python-标准解决了这个问题:

@component(base_image="python:3.7", packages_to_install=["appengine-python-standard",...])

对于上下文,我通过顶点工作台使用KFP v1.8.20。祈祷,它适用于v2.0.0-beta.15。

匿名用户

原因是最新版本的请求不支持urllib3 2.0.0。这在kfp-2.0.0b16中已修复(请参阅更改PR),因此您可以升级到该版本,也可以创建降级urllib的新映像。

也许这是由过去几天(2023年5月1日和5月4日,resp)发布的ggests-tool带和/或urllib3版本触发的。

我通过使用以下Dockerfile构建一个新容器来解决这个问题(我使用Python3.9,但使用任何你想要的):

FROM python:3.9

RUN pip install urllib3==1.26.15 requests-toolbelt==0.10.1

我建议使用Cloud Build构建映像并将其指定为组件的基本映像。

匿名用户

我也遇到了同样的问题。我更新了管道组件以使用更新的Python版本,现在它可以工作了:

@component(
    base_image="python:3.11",