

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# 安装   AWS IoT Device SDK 适用于 Python
<a name="IoT-SDK"></a>

客户端设备可以使用 for AWS IoT Device SDK Python 与设备通信 AWS IoT 和 AWS IoT Greengrass 核心设备（使用 Python 编程语言）。如需更多信息（包括要求），请参阅上 GitHub的 AWS IoT Device SDK Python [自述文件](https://github.com/aws/aws-iot-device-sdk-python)。

在此步骤中，您将安装软件开发工具包并获取计算机上模拟客户端设备使用的 `basicDiscovery.py` 示例函数。

1. 要将软件开发工具包与所有必需的组件一起安装到您的计算机上，请选择您的操作系统：

------
#### [ Windows ]

   1. 打开[提升的命令提示符](https://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx)并运行以下命令：

      ```
      python --version
      ```

      如果没有返回版本信息，或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3，则按照[下载 Python](https://wiki.python.org/moin/BeginnersGuide/Download) 中的说明安装 Python 2.7\+ 或 Python 3.3\+。有关更多信息，请参阅[在 Windows 上使用 Python](https://docs.python.org/3.6/using/windows.html)。

   1. 将[适用于 Python 的AWS IoT Device SDK](https://github.com/aws/aws-iot-device-sdk-python)下载为 `zip` 文件并将其解压缩到您计算机上的适当位置。

      请记下其中包含 `setup.py` 文件的解压缩 `aws-iot-device-sdk-python-master` 文件夹的文件路径：在下一步中，此文件路径由指示{{path-to-SDK-folder}}。

   1. 从提升的命令提示符运行以下命令：

      ```
      cd {{path-to-SDK-folder}}
      python setup.py install
      ```

------
#### [ macOS ]

   1. 打开终端窗口，并运行以下命令：

      ```
      python --version
      ```

      如果没有返回版本信息，或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3，则按照[下载 Python](https://wiki.python.org/moin/BeginnersGuide/Download) 中的说明安装 Python 2.7\+ 或 Python 3.3\+。有关更多信息，请参阅[在 Macintosh 上使用 Python](https://docs.python.org/3/using/mac.html)。

   1. 在终端窗口中，运行以下命令以确定 OpenSSL 版本：

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      记下 OpenSSL 版本值。
**注意**  
如果运行的是 Python 3，请使用 **print(ssl.OPENSSL\_VERSION)**。

      要关闭 Python shell，请运行以下命令：

      ```
      >>>exit()
      ```

      如果 OpenSSL 版本为 1.0.1 或更高版本，请跳至[步骤 c](#step-c-install-python-sdk)。否则，请按照以下步骤操作：

      1. 在终端窗口中，运行以下命令以确定计算机正在使用简单 Python 版本管理：

        ```
        which pyenv
        ```

      如果返回文件路径，则选择**使用 `pyenv`** 选项卡。如果未返回任何内容，则选择**未使用 `pyenv`** 选项卡。

------
#### [ Using pyenv ]

      1. 请参阅[用于 Mac OS X 的 Python 版本](https://www.python.org/downloads/mac-osx/)（或类似内容），以确定最新的稳定 Python 版本。在以下示例中，此值由表示{{latest-Python-version}}。

      1. 在终端窗口中，运行以下命令：

         ```
         pyenv install {{latest-Python-version}}
         pyenv global {{latest-Python-version}}
         ```

         例如，如果 Python 2 的最新版本是 2.7.14，则这些命令为：

         ```
         pyenv install 2.7.14
         pyenv global 2.7.14
         ```

      1. 关闭并重新打开终端窗口，然后运行以下命令：

         ```
         python
         >>>import ssl
         >>>print ssl.OPENSSL_VERSION
         ```

         OpenSSL 版本应至少为 1.0.1。如果版本低于 1.0.1，则更新失败。检查 **pyenv install** 和 **pyenv global** 命令中使用的 Python 版本值，然后重试。

      1. 运行以下命令以退出 Python shell：

         ```
          exit()
         ```

------
#### [ Not using pyenv ]

      1. 从终端窗口中运行以下命令以确定 [brew](https://brew.sh/) 是否已安装：

         ```
         which brew
         ```

         如果未返回文件路径，请安装 `brew`，如下所示：

         ```
         /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
         ```
**注意**  
按照安装提示进行操作。下载 Xcode 命令行工具可能需要一些时间。

      1. 运行以下 命令：

         ```
         brew update
         brew install openssl
         brew install python@2
         ```

          AWS IoT Device SDK 适用于 Python 需要使用 Python 可执行文件编译的 OpenSSL 版本 1.0.1（或更高版本）。**brew install python** 命令会安装满足此要求的 `python2` 可执行文件。该 `python2` 可执行文件安装在 `/usr/local/bin` 目录中，该目录应作为 `PATH` 环境变量的一部分。要确认这一点，请运行以下命令：

         ```
         python2 --version
         ```

         如果提供了 `python2` 版本信息，请跳到下一步。否则，通过将以下行附加到您的 Shell 配置文件，永久地将 `/usr/local/bin` 路径添加到您的 `PATH` 环境变量：

         ```
         export PATH="/usr/local/bin:$PATH"
         ```

         例如，如果您使用的是 `.bash_profile` 或您还没有 Shell 配置文件，则从终端窗口中运行以下命令：

         ```
         echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
         ```

         接下来，对您的 Shell 配置文件执行 [source](https://en.wikipedia.org/wiki/Source_(command)) 命令并确认 `python2 --version` 提供版本信息。例如，如果您正在使用 `.bash_profile`，则运行以下命令：

         ```
         source ~/.bash_profile
         python2 --version
         ```

         应返回 `python2` 版本信息。

      1. 将以下行附加到您的 Shell 配置文件：

         ```
         alias python="python2"
         ```

         例如，如果您使用的是 `.bash_profile` 或您还没有 Shell 配置文件，则运行以下命令：

         ```
         echo 'alias python="python2"' >> ~/.bash_profile
         ```

      1. 接下来，对您的 Shell 配置文件执行 [source](https://en.wikipedia.org/wiki/Source_(command)) 命令。例如，如果您正在使用 `.bash_profile`，则运行以下命令：

         ```
         source ~/.bash_profile
         ```

         调用 **python** 命令将运行 Python 可执行文件 (`python2`)，其中包含所需的 OpenSSL 版本。

      1. 运行以下 命令：

         ```
         python
          import ssl
          print ssl.OPENSSL_VERSION
         ```

         OpenSSL 版本应为 1.0.1 或更高版本。

      1. 要退出 Python shell，请运行以下命令：

         ```
          exit()
         ```

------

   1. <a name="step-c-install-python-sdk"></a>运行以下命令，安装 适用于 Python 的 AWS IoT Device SDK ：

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------
#### [ UNIX-like system ]

   1. 从终端窗口中运行以下命令：

      ```
      python --version
      ```

      如果没有返回版本信息，或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3，则按照[下载 Python](https://wiki.python.org/moin/BeginnersGuide/Download) 中的说明安装 Python 2.7\+ 或 Python 3.3\+。有关更多信息，请参阅[在 Unix 平台上使用 Python](https://docs.python.org/3.6/using/unix.html)。

   1. 在终端中，运行以下命令以确定 OpenSSL 版本：

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      记下 OpenSSL 版本值。
**注意**  
如果运行的是 Python 3，请使用 **print(ssl.OPENSSL\_VERSION)**。

      要关闭 Python shell，请运行以下命令：

      ```
       exit()
      ```

      如果 OpenSSL 版本为 1.0.1 或更高版本，请跳至下一步。否则，运行命令以便为您的发行版更新 OpenSSL（例如，`sudo yum update openssl`、`sudo apt-get update` 等）。

      通过运行以下命令来确认 OpenSSL 版本为 1.0.1 或更高版本：

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      >>>exit()
      ```

   1. 运行以下命令，安装 适用于 Python 的 AWS IoT Device SDK ：

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------

1. 安装 f AWS IoT Device SDK or Python 后，导航到该`samples`文件夹并打开该`greengrass`文件夹。

   在本教程中，您将复制 `basicDiscovery.py` 示例函数，该函数会使用您在 [在中创建客户端设备 AWS IoT Greengrass 组](device-group.md) 中下载的证书和密钥。

1. 复制`basicDiscovery.py`到包含 \_Publisher 和 HelloWorld \_Subscri HelloWorld ber 设备证书和密钥的文件夹。