在 Python3 脚本中使用 speedtest-cli 来测量互联网速度 - 收到错误消息“No module named speedtest”

问题描述

我的度假屋有时会失去互联网连接,这意味着我无法远程访问该地点的家庭网络。我使用无线贝尔服务作为我的 ISP。当我在度假屋时,我的家庭自动化系统中有一个程序可以重新启动 Bell PoE 设备和调制解调器。这通常会重置网络。

我正在尝试使用 Github 项目 Python 脚本 speedtest-cli 来测量我度假屋的下载速度。我正在尝试在 RaspBerry Pi (Buster) 上编写自己的 Python 脚本,以定期测量互联网的下载速度。我的计划是向我的家庭自动化系统发送一个带有速度的变量,如果速度过低,它将触发互联网重置。

我使用代码从 Github 下载了最新的脚本

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

然后我用

使文件可执行
chmod +x speedtest-cli

当我在 RaspeBerry Pi 的命令行中运行命令 speedtest-cli 时,脚本按预期工作,我看到了下载速度

但是,当我尝试将代码合并到 python 脚本中时,我收到错误“No module named 'speedtest'

产生这条消息的简单代码

import speedtest

我正在 /home/pi/ 目录中运行上面的简单脚本,并且可执行文件“speedtest-cli”也在该目录中

(我知道有很多评论说这个“速度测试”项目没有提供准确的结果,但是从我的测试来看,它一直产生足以满足我的目的的结果)

有没有想过为什么这不起作用?

解决方法

要通过 python 脚本使用 speedtest-cli,需要在本地机器上安装 speedtest-cli。

git clone https://github.com/sivel/speedtest-cli.git
cd speedtest-cli
python setup.py install

之后你可以使用import speedtest

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...