Stream Manager无法加载cbor2模块。

0

【以下的问题经过翻译处理】 我尝试使用GG版本2的流管理器sdk:https://github.com/aws-greengrass/aws-greengrass-stream-manager-sdk-python

我在我的测试核心设备上安装了流管理器的要求:

pip3 install --user -r requirements.txt

然后我通过下载源代码并运行以下命令来安装sdk:

sudo python3 setup.py install

安装sdk后,我意识到安装的.egg文件不可读,只有root/staff以外的用户可以读取,所以我chmod'd以允许其他用户读取它。然后我重新测试,但它无法读取cbor2模块。我运行了另一个测试组件,只导入了cbor2。它以与下面相同的错误失败。

我的组件日志包含以下错误:

2021-02-03T19:47:26.630Z [WARN] (Copier) com.example.stream.create: stderr. Traceback (most recent call last):. {scriptName=services.com.example.stream.create.lifecycle.Run.script, serviceName=com.example.stream.create, currentState=RUNNING}

2021-02-03T19:47:26.630Z [WARN] (Copier) com.example.stream.create: stderr. File "create-stream.py", line 5, in <module>. {scriptName=services.com.example.stream.create.lifecycle.Run.script, serviceName=com.example.stream.create, currentState=RUNNING}

2021-02-03T19:47:26.630Z [WARN] (Copier) com.example.stream.create: stderr. import cbor2. {scriptName=services.com.example.stream.create.lifecycle.Run.script, serviceName=com.example.stream.create, currentState=RUNNING}

2021-02-03T19:47:26.630Z [WARN] (Copier) com.example.stream.create: stderr. ModuleNotFoundError: No module named 'cbor2'. {scriptName=services.com.example.stream.create.lifecycle.Run.script, serviceName=com.example.stream.create, currentState=RUNNING}

然后我尝试将pip3 install cbor2添加到组件配方的安装脚本中。这无法正常安装:

2021-02-03T20:48:47

profile picture
专家
已提问 6 个月前36 查看次数
1 回答
0

【以下的回答经过翻译处理】 嗨Darren,

使用命令pip3 install --user -r requirements.txt安装将在用户主目录中安装,而不是在系统路径中安装。

您可以尝试以下几种方法(按顺序):

  1. 尝试使用未带--user选项的命令安装要求,即pip3 install -r requirements.txt
  2. 如果上述方法不起作用,则可能存在Python版本不匹配(多个安装程序?)。您可以明确指定Python版本,并通过pip安装要求。即python3.7 -m pip install -r requirements.txt

我知道文档中有pip3 install --user -r requirements.txt。一旦您确认此方法适用于您,我将进行修改。

profile picture
专家
已回答 6 个月前

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

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

回答问题的准则