Raspberry Pi 上 Twilio 服务的 python 脚本的错误 运行 终端命令

Error running terminal command from python script for Twilio services on Raspberry Pi

我希望使用 Python 中的 Twilio CLI 运行 以下命令:

ngrok_cmd = "twilio phone-numbers:update "+ my_number " --sms url=https://localhost:5000"
os.system(ngrok_cmd)

该命令在终端上有效,但如果我尝试通过 python 执行则无效。它不断给出以下错误:

sh: 1: twilio: not found

编辑:

我试过这个:

ngrok_cmd = "/home/pi/.config/nvm/versions/node/v16.13.1/bin/twilio phone-numbers:update "+ my_number " --sms url=http://localhost:5000"
os.system(ngrok_cmd)

现在我得到这个错误:

 » Could not find profile.
 » To create the profile, run:

  twilio profiles:create

Alternatively, twilio-cli can use credentials stored in environment variables:

# OPTION 1 (recommended)
export TWILIO_ACCOUNT_SID=your Account SID from twil.io/console
export TWILIO_API_KEY=an API Key created at twil.io/get-api-key
export TWILIO_API_SECRET=the secret for the API Key

# OPTION 2
export TWILIO_ACCOUNT_SID=your Account SID from twil.io/console
export TWILIO_AUTH_TOKEN=your Auth Token from twil.io/console

Once these environment variables are set, a twilio-cli profile is not required and you may skip the "login" step.

但是,我已经在/etc/profile中设置了环境变量并通过以下方式进行了验证:

printenv | grep TWI

我不知道这个错误的原因是什么。谁能帮我解决这个问题?

错误信息表示您的shell找不到twilio命令。那是因为当你在你的终端中 运行 它看起来在不同的地方,因为 PATH(shells 寻找命令的地方)设置不一样。

您需要进入 twilio 可以正常工作并且 运行:

的普通终端
which twilio         # or alternatively 
type twilio

这会告诉您 twilio 命令在哪里,即它的完整路径。

在您的 Python 代码中使用相同的完整路径,以便它可以找到它。