

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Linux 2023 构建映像问题排查
<a name="troubleshooting-AL2023"></a>

以下信息可以帮助您解决亚马逊 Linux 2023 (AL2023) 版本映像的问题。

**Topics**
+ [

## 我想使用 Python 运行时运行 Amplify 函数
](#python-runtime)
+ [

## 我想运行需要超级用户或 root 权限的命令
](#root-privileges)

## 我想使用 Python 运行时运行 Amplify 函数
<a name="python-runtime"></a>

现在，当您部署新应用程序时，Amplify Hosting 默认使用亚马逊 Linux 2023 版本映像。 AL2023 预装了 Python 版本 3.8、3.9、3.10 和 3.11。

为了向后兼容 Amazon Linux 2 镜像， AL2023 构建镜像预装了旧版 Python 的符号链接。

默认全局使用 Python 3.10 版。要使用特定 Python 版本构建函数，请在您的应用程序的编译规范文件中运行以下命令。

```
version: 1
backend:
  phases:
    build:
      commands:
        # use a python version globally
        - pyenv global 3.11
        # verify python version
        - python --version
        # install pipenv
        - pip install --user pipenv
        # add to path
        - export PATH=$PATH:/root/.local/bin
        # verify pipenv version
        - pipenv --version
        - amplifyPush --simple
```

## 我想运行需要超级用户或 root 权限的命令
<a name="root-privileges"></a>

如果您在使用 Amazon Linux 2023 构建镜像，但在运行需要超级用户或 root 权限的系统命令时出错，则必须使用 Linux `sudo` 命令运行这些命令。例如，如果您在运行 `yum install -y gcc` 时遇到错误，请使用 `sudo yum install -y gcc`。

Amazon Linux 2 构建镜像使用根用户，但是 Amplify 的 AL2023 镜像使用自定义`amplify`用户运行你的代码。Amplify 授予此用户使用 Linux `sudo` 命令运行命令的权限。对于需要超级用户权限的命令，最佳实践是使用 `sudo`。