调用network.Network()触发AttributeError:模块无Network属性
排查步骤与解决方案
1. 确认导入的是你自己的network.py
在game.py开头添加以下代码,打印模块的绝对路径,验证是否导入了正确的文件:
import network print(network.__file__)
如果输出路径不是你项目中的network.py,说明导入了同名的系统/第三方模块,导致冲突。
2. 解决模块导入冲突
- 直接重命名你的
network.py,比如改为my_network.py,然后在game.py中修改导入语句:import my_network as network,再调用network.Network()。 - 确保你的
network.py和game.py在同一文件夹下,并且Pydroid的当前工作目录是该文件夹(可通过import os; print(os.getcwd())查看当前目录)。
3. 检查network.py的代码结构
如果确认导入的是自己的文件,检查以下问题:
- 确认
Network类定义在模块的全局作用域,而非某个函数内部(函数内的类无法通过module.Class直接访问)。 - 单独运行
network.py,检查是否有语法错误导致类未被正确加载。
4. 清理Pydroid缓存
Pydroid的缓存可能导致旧代码被加载,尝试:
- 关闭并重新打开Pydroid,重新运行代码。
- 在系统设置中清理Pydroid的应用缓存。
内容的提问来源于stack exchange,提问作者XZeeno
相关产品推荐
相关产品推荐

