当前位置: 首页 > 知识库问答 >
问题:

从 Python 脚本为树莓派上的 Twilio 服务运行终端命令时出错

空成天
2023-03-14

我希望使用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

我不知道这个错误的原因是什么。有人能帮我吗?

共有1个答案

商茂勋
2023-03-14

该错误消息意味着您的shell找不到twilio命令。这是因为它正在查找的位置与您在终端中运行它时的位置不同,因为PATH(shell查找命令的位置)设置不相同。

您需要进入正常的终端,twilio可以工作并运行:

which twilio         # or alternatively 
type twilio

这将告诉您twilio命令的位置,即它的完整路径。

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

 类似资料:
  • 所以,在Raspberry Pi上,我正在使用一个带有web界面的摄像头应用程序,我想通过添加Neopix来添加LED照明。我已经成功地做到了这一点,现在可以在运行两个python脚本时打开和关闭它。 解释和问题: 我在中有一个可执行的python脚本。 我在中有一个外壳脚本,它是可执行的,必须在中运行python脚本。外壳脚本属于'www.-data' 当我手动运行python文件时,它执行脚本

  • 问题内容: 我前一段时间读过这篇文章,但似乎找不到。我试图找到一个将在终端中执行命令然后输出结果的命令。 例如:脚本将是: 它将在终端中运行该命令的结果 问题答案: 做这件事有很多种方法: 一种简单的方法是使用os模块: 子流程模块可以实现更复杂的事情:例如:

  • 我有以下文件夹结构: null 当我运行Pycharm的fish.py时,它工作得非常好。但是,当我从终端运行fish.py时,我得到错误的模块。 我在终端中使用的命令:来自应用程序文件夹。 我已经研究了这里建议的解决方案:从不同的文件夹导入文件,将应用程序文件夹的路径添加到帮助中。但是,我想知道是否有其他方法可以使它工作,而不在中添加两行代码。这是因为我在/products目录中有许多脚本,不想

  • 我如何通过命令行运行它?

  • 问题内容: 我试图打开一个终端并在其中运行命令。我在用 这将打开一个新的终端,但是命令不会执行。 问题答案: 该命令将新运行的进程替换为新进程,因此,如果要在要运行的命令列表中有一个exec,则在exec运行后,其他任何命令都将不会运行。因此,您要替换为,然后在运行之后再执行任何操作。尝试以下方法: 或者如果您需要终端保持打开状态,请尝试以下操作: 如果您希望终端保持打开状态并处于bash she

  • 问题内容: 我有一个python脚本,我们将其命名为script1.py。我可以这样在终端中运行它: 但我想像命令行程序一样运行: 我该怎么做 ? 问题答案: 您可以在脚本的开头使用shebang行: 使文件可执行: 并将其放在PATH的目录中(可以是符号链接):