拔出 Raspberry Pi 后导入模块时出现 Python EOFerror

Posted

技术标签:

【中文标题】拔出 Raspberry Pi 后导入模块时出现 Python EOFerror【英文标题】:Python EOFerror when importing a module after unplugging Raspberry Pi 【发布时间】:2014-10-17 03:41:02 【问题描述】:

我在树莓派上启动时从 rc.local 运行了一个 python3.2 脚本 - Raspbian OS,它导入了一个名为 inouts.py 的文件,我制作并位于同一目录中,我更新了 sys.path.append(...)

脚本运行了好几个星期。今天我不得不在不关机的情况下拔掉 rpi。

重启后脚本无法打开并给出错误: EOFError: EOF read where not expected

inouts.py 绝对是导致错误的模块,因为我有它自己的行。

如果我将名称从 inouts.py 更改为 inouts2.py,则脚本有效。 如果我将它作为 python2 运行,它也可以工作。

谁能指出我正确的方向是什么导致这个文件名导致这个错误?

Traceback (most recent call last):
File "rf2.py", line 3, in <module>
import inouts
EOFError: EOF read where not expected

【问题讨论】:

想分享一些可以提供帮助的东西吗?代码sn-p?堆栈跟踪? 添加了错误信息,很快就会得到更多信息。 inouts.pyc 文件吗?如果是这样,请尝试删除它。 是的,我也删除了,仍然没有变化 您可以阅读有关__pycache__ 文件夹here 的更多信息。 【参考方案1】:

我今天自己解决了这个问题,删除了__pycache__ 子目录中的所有*.pyc 文件。

【讨论】:

pycache 前面有两个 _ 空白,后面有两个 - 这里没有显示。

以上是关于拔出 Raspberry Pi 后导入模块时出现 Python EOFerror的主要内容,如果未能解决你的问题,请参考以下文章

在Raspberry Pi上安装mitmproxy时出现python问题

Android Things:在 Raspberry PI 3 上通过 USB UART 接收数据时出现 NullPointerException

Android事物:在Raspberry PI 3上通过USB UART接收数据时出现NullPointerException

Raspberry Pi 4B 循迹模块

Raspberry Pi 3B 和 RFID RC522 - Python TypeError

能不能在 raspberry pi 上实现这样的网络设置