# 配置本地E2B SDK执行环境
AgentSphere提供了安全隔离的云上沙箱环境，支持代码执行、文件管理和命令运行等能力，广泛应用于AI Agent代码解释器、自动化测试、数据处理等场景。为了降低迁移成本，AgentSphere兼容了E2B SDK，您可以复用已有的E2B工作流和示例代码，仅需修改环境变量即可无缝切换到AgentSphere沙箱服务。
#### 前提条件
- 已开通AgentSphere服务，并获取API Key。获取方式请参见[创建API Key](https://support.huaweicloud.com/usermanual-agentsphere/agentsphere_03_0019.html)。
- 已创建沙箱模板，并获取模板ID。创建方式请参见[创建沙箱模板](https://support.huaweicloud.com/usermanual-agentsphere/agentsphere_03_0006.html)。
- 已安装Python，且Python版本满足E2B SDK要求，版本要求详见[e2b](https://pypi.org/project/e2b/)及[e2b-code-interpreter](https://pypi.org/project/e2b-code-interpreter/)。
- 已安装E2B SDK，安装命令如下：
  ```
  pip install e2b==2.42.0
  pip install e2b-code-interpreter==2.9.1
  ```
  ![](https://support.huaweicloud.com/sdkreference-agentsphere/public_sys-resources/note_3.0-zh-cn.png)
  建议使用e2b和e2b-code-interpreter指定版本。
  
- 给E2B SDK安装Patch文件，操作如下：
  ```
  wget https://raw.githubusercontent.com/skyao/agentsphere-e2b-patch-python/main/dist/agentsphere_e2b_patch-0.1.0-py3-none-any.whl
  pip install ./agentsphere_e2b_patch-0.1.0-py3-none-any.whl
  ```
  
 
#### 配置环境变量
AgentSphere兼容E2B SDK，您需要配置以下环境变量，将SDK的请求指向AgentSphere服务：
| 环境变量                | 说明                                                | 获取方式                                                                                                                                |
|:---|:---|:---|
| **E2B_API_URL**     | AgentSphere管理面的访问地址，即API Server通过APIGW对外暴露的地址。    | 不同区域的访问地址不同，请通过[API访问地址]查询。                                                             |
| **E2B_SANDBOX_URL** | AgentSphere数据面的访问地址，即模板所使用的Agent Gateway实例的公网域名。 | 在AgentSphere控制台中找到对应的"沙箱模板"，然后单击模板名称进入详情页，在"网络配置"中查看其入站网关的"公网域名"。                                                                 |
| **E2B_API_KEY**      | 访问AgentSphere管理面的API Key，作为认证凭据。                  | 在AgentSphere控制台的"API Key管理"页面创建并获取，详情请参见[创建API Key](https://support.huaweicloud.com/usermanual-agentsphere/agentsphere_03_0019.html)。 |
   
![](https://support.huaweicloud.com/sdkreference-agentsphere/public_sys-resources/caution_3.0-zh-cn.png)
- E2B_SANDBOX_URL必须与您创建沙箱实例时所使用的模板绑定的Agent Gateway域名一致，否则数据面请求将无法到达沙箱实例。
- 请妥善保管API Key，切勿硬编码在代码中或提交到版本控制系统，建议通过环境变量或密钥管理服务注入。
 
您可以通过以下三种方式设置环境变量：
#### 方式一：dotenv文件
在项目根目录下创建.env文件，配置环境变量：
```
E2B_API_URL=https://agentsphere.<region>.myhuaweicloud.com 
E2B_SANDBOX_URL=https://<your-sandbox-url>.huaweicloud-agentnetwork.com 
E2B_API_KEY=<your_api_key>
```
然后在Python代码中使用dotenv库加载环境变量，该方式下环境变量仅在当前代码运行范围内生效：
```
from dotenv import load_dotenv
load_dotenv()
```
#### 方式二：终端环境变量
在执行python代码的主机中设置环境变量
```
export E2B_API_URL=https://agentsphere.<region>.myhuaweicloud.com 
export E2B_SANDBOX_URL=https://<your-sandbox-url>.huaweicloud-agentnetwork.com 
export E2B_API_KEY=<your_api_key>
```
您也可以将以上命令添加到终端配置文件（如\~/.bashrc）中，使其在所有终端会话中全局生效。
#### 方式三：内嵌环境变量
在代码中通过os模块直接设置环境变量，该方式下环境变量仅在当前代码运行范围内生效：
```
import os
os.environ["E2B_API_URL"] = "https://agentsphere.<region>.myhuaweicloud.com"
os.environ["E2B_SANDBOX_URL"] = "https://<your-sandbox-url>.huaweicloud-agentnetwork.com"
os.environ["E2B_API_KEY"] = "<your_api_key>"
```
![](https://support.huaweicloud.com/sdkreference-agentsphere/public_sys-resources/note_3.0-zh-cn.png)
使用内嵌环境变量时，请确保在导入E2B模块之前完成环境变量设置，否则SDK可能在初始化时读取到空值。
 #### API访问地址
不同区域调用AgentSphere API的**访问地址**不同，如下表所示，请您根据业务需要选择对应区域的访问地址。
表1表1 AgentSphere API访问地址 
| 区域名称   | 区域                | API访问地址                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| 华北-北京四 | cn-north-4      | - 智能体沙箱API：https://agentsphere.cn-north-4.myhuaweicloud.com  - 智能体身份API：https://agent-identity.cn-north-4.myhuaweicloud.com          |
| 华南-广州 | cn-south-1       | - 智能体沙箱API：https://agentsphere.cn-south-1.myhuaweicloud.com  - 智能体身份API：https://agent-identity.cn-south-1.myhuaweicloud.com              |
| 西南-贵阳一 | cn-southwest-2 | - 智能体沙箱API：https://agentsphere.cn-southwest-2.myhuaweicloud.com  - 智能体身份API：https://agent-identity.cn-southwest-2.myhuaweicloud.com   |
   
#### 相关文档
- [E2B SDK官方文档](https://e2b.dev/docs)：了解E2B SDK的完整接口说明和更多用法示例。
- 如果在使用SDK时遇到连接失败、认证错误等问题，请先检查环境变量配置是否正确，特别是E2B_API_URL、E2B_SANDBOX_URL和E2B_API_KEY是否与控制台中的信息一致。
 
