运行Python程序时提示ModuleNotFoundError: No module named 'data_receiver'求助
解决ModuleNotFoundError: No module named 'data_receiver'的方案
以下是几个排查和解决的方向:
检查文件位置与命名
确认data_receiver.py文件和app.py在同一目录下,同时注意Linux系统大小写敏感,文件名必须完全匹配(比如不能写成DataReceiver.py或者data-receiver.py)。验证运行时的工作目录
你用sudo python3 app.py运行程序,确保当前工作目录是~/cloudapp-raspi。可以先执行sudo pwd确认,或者用绝对路径运行:sudo python3 /home/pi/cloudapp-raspi/app.py检查文件权限
因为用sudo运行,要确保data_receiver.py对root用户有可读权限。执行以下命令修复权限:sudo chmod 644 /home/pi/cloudapp-raspi/data_receiver.py手动添加模块路径到sys.path
如果上述方法都无效,可以在app.py开头添加代码,把当前脚本所在目录加入Python的模块搜索路径:import sys, os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))然后再执行后续的导入语句。
检查是否存在命名冲突
确认你的项目目录里没有和data_receiver同名的文件夹、其他脚本,也没有和Python标准库重名的情况,避免导入混淆。
内容的提问来源于stack exchange,提问作者jdolcine
相关产品推荐
相关产品推荐

