Cloud Function导入第三方库失败,构建返回状态码62求助
问题描述
我使用Python 3.10构建Cloud Function时反复遇到构建失败的问题,以下是复现该错误的相关信息:
main.py 代码
import functions_framework import re import os import json from io import BytesIO from typing import Any, Dict, List, Optional, Awaitable, Callable, Tuple, Type, Union from collections import OrderedDict import base64 from langchain.llms import VertexAI from langchain.llms import OpenAI from langchain.chat_models import ChatOpenAI from langchain.embeddings import OpenAIEmbeddings from langchain.docstore.document import Document from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.schema import BaseOutputParser, OutputParserException from langchain.vectorstores import VectorStore from langchain.vectorstores.faiss import FAISS from langchain.chains import LLMChain from langchain.memory import ConversationBufferMemory from langchain.chains.question_answering import load_qa_chain from langchain.chains.qa_with_sources import load_qa_with_sources_chain from langchain.chains import ConversationalRetrievalChain from langchain.chains.conversational_retrieval.prompts import CONDENSE_QUESTION_PROMPT from langchain.tools import BaseTool from langchain.prompts import PromptTemplate from langchain.docstore.document import Document from pypdf import PdfReader from sqlalchemy.engine.url import URL from langchain.sql_database import SQLDatabase from langchain.agents import AgentExecutor, initialize_agent, AgentType from langchain.tools import BaseTool from langchain.utilities import BingSearchAPIWrapper from langchain.agents import create_sql_agent from langchain.agents.agent_toolkits import SQLDatabaseToolkit from pydantic import BaseModel from langchain_experimental.sql import SQLDatabaseChain from langchain.sql_database import SQLDatabase from langchain.agents import AgentExecutor, initialize_agent, AgentType from langchain.tools import BaseTool from langchain.utilities import BingSearchAPIWrapper from langchain.agents import create_sql_agent from tools import SQLDbTool, ChatGPTTool, DocSearchTool, run_agent from langchain.embeddings import VertexAIEmbeddings from langchain.memory import ChatMessageHistory from langchain.memory import ConversationBufferWindowMemory from langchain.agents import ConversationalChatAgent, AgentExecutor, Tool from IPython.display import Markdown, HTML, display from sqlalchemy import * from sqlalchemy.engine import create_engine from sqlalchemy.schema import * from pybigquery.api import ApiClient import pandas as pd @functions_framework.http def hello_http(request): """HTTP Cloud Function. Args: request (flask.Request): The request object. <https://flask.palletsprojects.com/en/1.1.x/api/#incoming-request-data> Returns: The response text, or any set of values that can be turned into a Response object using `make_response` <https://flask.palletsprojects.com/en/1.1.x/api/#flask.make_response>. """ request_json = request.get_json(silent=True) request_args = request.args if request_json and 'name' in request_json: name = request_json['name'] elif request_args and 'name' in request_args: name = request_args['name'] else: name = 'World' return 'Hello {}!'.format(name)
注:代码仅包含导入语句和默认的HTTP请求处理逻辑。
requirements.txt 内容
functions-framework==3.* ipython==8.14.0 pybigquery==0.5.0 SQLAlchemy==1.4.49 pandas==2.0.3 pypdf==3.16.0 langchain==0.0.287 langchain-experimental==0.0.20
错误信息
[builder] Running "python3 -m pip check" [builder] No broken requirements found. [builder] Done "python3 -m pip check" (2.249514671s) [builder] === Utils - Label Image (google.utils.label@0.0.2) === ERROR: failed to build: executing lifecycle. This may be the result of using an untrusted builder: failed with status code: 62 [3:23:25 PM] - Error while building function sources. Please check logs.
解决方法
针对错误码62和Cloud Function构建的常见问题,可按以下步骤排查修复:
- 移除无用依赖:
ipython是交互式Python环境,Cloud Function为无服务器运行环境,无需该依赖,从requirements.txt中删除它,减少构建负载和冲突概率。 - 检查自定义模块:代码中导入了
tools模块,确认tools.py文件存在于函数目录中,且模块内无语法错误或依赖缺失;若暂时不需要这些工具,可注释该导入语句测试构建是否成功。 - 固定依赖版本:将
functions-framework==3.*改为具体版本(如functions-framework==3.3.0),避免自动更新到不兼容版本。 - 验证构建器权限:错误提示提到“untrusted builder”,确保使用官方Cloud Function构建镜像;若用自定义构建器,需在项目中配置信任该构建器的权限。
- 清理构建缓存:部署时添加
--no-cache参数强制重新构建,避免缓存中的旧依赖或配置引发问题,命令示例:gcloud functions deploy hello_http --runtime python310 --trigger-http --no-cache - 简化代码测试:暂时移除所有无关导入语句(如langchain、sqlalchemy相关),仅保留
functions_framework和默认HTTP处理函数,测试构建是否成功;若成功,再逐步添加回所需依赖和代码,定位具体问题点。
内容的提问来源于stack exchange,提问作者Masiek
相关产品推荐
相关产品推荐

