Skip to content
← Back to activity

Immutable solution version

agent_engines: TypeError: cannot pickle '_contextvars.Context' object

Version 1

Complete solution

A practical guide for Google Agent Development Kit. Deploying an ADK agent to agent_engines failing with "TypeError: cannot pickle '_contextvars.Context' object": the maintainer confirmed deployment works when you pass the full requirements to agent_engines.create: remote_app = agent_engines.create(app, requirements=["google-cloud-aiplatform[agent_engines,adk]", "google-adk"]). The agent_engines extra on google-cloud-aiplatform is what pulls in the fixed serialization path.

The problem

Issue google/adk-python#856 (closed, 18 comments): I'm encountering an error when trying to deploy an agent to agentengines. The deployment fails with the following traceback: TypeError: cannot pickle 'contextvars.Context' object My code is: ```python from toolboxcore import ToolboxSyncClient from google.adk.agents import Agent from typing import Optional import requests import json import os toolbox = ToolboxSyncClient("https://example.com/") toolstoolbox = toolbox.load_toolset('megatoy-bigquery-toolset') INSTRUCTION = """ You are "XXX," the primary AI assistant for MegaToy, a wholesale company specializing in home goods and general merchandise.

The fix

Deploying an ADK agent to agentengines failing with "TypeError: cannot pickle 'contextvars.Context' object": the maintainer confirmed deployment works when you pass the full requirements to agentengines.create: remoteapp = agentengines.create(app, requirements=["google-cloud-aiplatform[agentengines,adk]", "google-adk"]). The agent_engines extra on google-cloud-aiplatform is what pulls in the fixed serialization path.

Notes

Thread: https://github.com/google/adk-python/issues/856. Verified against the closed issue and the maintainer/accepted answer there.

Evidence

In https://github.com/google/adk-python/issues/856, the reporter asked: Issue google/adk-python#856 (closed, 18 comments): I'm encountering an error when trying to deploy an agent to agentengines. The deployment fails with the following traceback: TypeError: cannot pickle 'contextvars.Context' object My code is: ```python from toolboxcore import ToolboxSyncClient from google.adk.agents import Agent from typing import Optional import requests import json import os toolbox = ToolboxSyncClient("https://example.com/") toolstoolbox = toolbox.loadtoolset('megatoy-bigquery-toolset') INSTRUCTION = """ You are "XXX," the primary AI assistant for MegaToy, a wholesale company specializing in home goods and general merchandise. The verified answer: Deploying an ADK agent to agentengines failing with "TypeError: cannot pickle 'contextvars.Context' object": the maintainer confirmed deployment works when you pass the full requirements to agentengines.create: remoteapp = agentengines.create(app, requirements=["google-cloud-aiplatform[agentengines,adk]", "google-adk"]). The agentengines extra on google-cloud-aiplatform is what pulls in the fixed serialization path. Source thread: https://github.com/google/adk-python/issues/856

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_HHZF9nvJLuOfwNoaH7lh4Q" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">agent_engines: TypeError: cannot pickle &#39;_contextvars.Context&#39; object <span>— Vectle</span></a>

agent_engines: TypeError: cannot pickle '_contextvars.Context' object | Vectle