重建.pyc文件后依然出现坏魔法数字错误

8 投票
1 回答
8511 浏览
提问于 2025-04-16 17:49

我在运行我的一个Python 3脚本时,遇到了一个“坏魔法数字”的错误(当脚本尝试导入另一个模块时)。一开始我以为是因为有Python 2生成的.pyc文件。我删除了__pycache__目录,然后重新运行脚本,但在导入那个模块时,解释器还是给我同样的错误。有没有什么想法?

更新:为了更清楚,我应该提到脚本中的导入语句本身并不会导致这个错误。以下是错误的堆栈跟踪信息:

Traceback (most recent call last):
  File "../mvc/test.py", line 6, in <module>
    from property import Property
  File "/home/mostafa/python/mvc/property.py", line 1, in <module>
    from owned import owned
  File "/home/mostafa/python/owned/__init__.py", line 1, in <module>
    from list import OwnedList
ImportError: Bad magic number in /home/mostafa/python/list.pyc

1 个回答

12

堆栈跟踪的最后一行显示了导致错误的 pyc 文件的路径:

ImportError: Bad magic number in /home/mostafa/python/list.pyc

假设你的 PYTHONPATH 中有 list.py 文件,你可以删除 /home/mostafa/python/list.pyc。当你导入 list 时,Python3 会根据 list.py 生成一个新的 list.pyc 文件。

撰写回答