> ## Documentation Index
> Fetch the complete documentation index at: https://ppio.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 环境变量

> 了解 PPIO Agent 沙箱环境变量的归档配置方式，查阅该版本向运行环境传递配置的说明，为维护既有应用提供参考。

本节介绍如何在沙箱中设置和使用环境变量。

## 设置环境变量

您可以通过如下 3 种方式来设置环境变量：

* [创建沙箱时设置全局环境变量](#1-创建沙箱时设置全局环境变量)
* [在沙箱中运行代码时设置环境变量](#2-运行代码时设置环境变量)
* [在沙箱中运行命令时设置环境变量](#3-运行命令时设置环境变量)

### 1. 创建沙箱时设置全局环境变量

您可以在创建沙箱时设置全局环境变量。

```js JavaScript & TypeScript icon="js" theme={null}
import { Sandbox } from 'ppio-sandbox/code-interpreter'

const sandbox = await Sandbox.create({
    envs: {
        MY_VAR: 'my_value',
    },
})

// 命令跑在沙箱的 Shell 环境里
const result = await sandbox.commands.run("echo $MY_VAR")
console.log(result)

// 输出示例：
// { exitCode: 0, error: undefined, stdout: 'my_value\n', stderr: '' }

await sandbox.kill()
```

```python Python icon="python" theme={null}
from ppio_sandbox.code_interpreter import Sandbox

sandbox = Sandbox.create(
  envs={
    'MY_VAR': 'my_value',
  },
)

# 命令跑在沙箱的 Shell 环境里
result = sandbox.commands.run("echo $MY_VAR")

print(result)

# 输出示例：
# { exitCode: 0, error: undefined, stdout: '123\n', stderr: '' }

sandbox.kill()
```

### 2. 运行代码时设置环境变量

您可以为沙箱中特定的代码运行片段设置环境变量。

> [!NOTE]
>
> 如果您设置了同名的全局环境变量，全局环境变量值将被覆盖。

```js JavaScript & TypeScript icon="js" theme={null}
import { Sandbox } from 'ppio-sandbox/code-interpreter'

const sandbox = await Sandbox.create()

// 代码跑在沙箱实例里的 Jupyter Notebook 环境里
const result = await sandbox.runCode('import os; print(os.environ.get("MY_VAR"))', {
  envs: {
    MY_VAR: 'my_value',
  },
})
console.log(result.logs)

await sandbox.kill()
```

```python Python icon="python" theme={null}
from ppio_sandbox.code_interpreter import Sandbox

sandbox = Sandbox.create()

# 代码跑在沙箱实例里的 Jupyter Notebook 环境里
result = sandbox.run_code(
    'import os; print(os.environ.get("MY_VAR"))',
    envs={
        'MY_VAR': 'my_value'
    }
)
print(result)

sandbox.kill()
```

### 3. 运行命令时设置环境变量

您可以为沙箱中特定的命令执行片段设置环境变量。

> [!NOTE]
>
> 如果您设置了同名的全局环境变量，全局环境变量值将被覆盖。

```js JavaScript & TypeScript icon="js" theme={null}
import { Sandbox } from 'ppio-sandbox/code-interpreter'

const sandbox = await Sandbox.create()

const result = await sandbox.commands.run('echo $MY_VAR', {
  envs: {
    MY_VAR: '123',
  },
})

console.log(result)

// 输出示例：
// { exitCode: 0, error: undefined, stdout: '123\n', stderr: '' }

await sandbox.kill()
```

```python Python icon="python" theme={null}
from ppio_sandbox.code_interpreter import Sandbox

sandbox = Sandbox.create()
result = sandbox.commands.run(
    'echo $MY_VAR',
    envs={
        'MY_VAR': '123'
    }
)

print(result)

# 输出示例：
# CommandResult(stderr='', stdout='123\n', exit_code=0, error='')

sandbox.kill()
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.