No module error while trying "Connect to AWS IoT"

0

I have followed the "Connect to AWS IoT" steps provided in AWS IOT (1.Register a device 2.Download a connection kit 3.Configure and test your device). When I tried to run the script, I am getting No module named AWSIoTPythonSDK.MQTTLib

Environment: Platform: Linux Choose a AWS IoT Device SDK: Python

More info:

user::~/Downloads/connect_device_package$ ./start.sh 

Downloading AWS IoT Root CA certificate from AWS...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1188  100  1188    0     0   7378      0 --:--:-- --:--:-- --:--:--  7378

Cloning the AWS SDK...
Cloning into 'aws-iot-device-sdk-python'...
remote: Enumerating objects: 870, done.
remote: Counting objects: 100% (135/135), done.
remote: Compressing objects: 100% (77/77), done.
remote: Total 870 (delta 71), reused 58 (delta 58), pack-reused 735
Receiving objects: 100% (870/870), 334.31 KiB | 1.92 MiB/s, done.
Resolving deltas: 100% (423/423), done.

Installing AWS SDK...
~/Downloads/connect_device_package/aws-iot-device-sdk-python ~/Downloads/connect_device_package
Requirement already satisfied: AWSIoTPythonSDK in /home/om/.local/lib/python3.8/site-packages (1.4.9)
~/Downloads/connect_device_package

Running pub/sub sample application...
Traceback (most recent call last):
  File "aws-iot-device-sdk-python/samples/basicPubSub/basicPubSub.py", line 18, in <module>
    from AWSIoTPythonSDK.MQTTLib import AWSIoTMQTTClient
ImportError: No module named AWSIoTPythonSDK.MQTTLib
Om
已提问 2 年前618 查看次数
1 回答
1
已接受的回答

Hi Om. I'm guessing you have both python2 and python3 installed. Can you run the following command to check the version?

python --version

If it's 2.x, that would explain what you're seeing. If so, easiest way out is probably to edit line 32 of start.sh to call python3 instead of python.

profile pictureAWS
专家
Greg_B
已回答 2 年前
  • Thanks Greg. It is working now :). Yes, I have both 2.x and 3 versions.

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则