【发布时间】:2011-08-27 10:29:35
【问题描述】:
在运行我的 Python 3 脚本时,我遇到了“错误的幻数”错误(当脚本尝试导入另一个模块时)。起初我以为是因为有 Python 2 构建的 .pyc 文件。我删除了 __pycache__ 目录并重新运行脚本,但在导入该模块时解释器仍然给我同样的错误。有什么想法吗?
更新:为了澄清,我应该提到脚本中的 import 语句本身不会导致错误。这是堆栈跟踪:
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
【问题讨论】:
-
一个和你类似的问题:stackoverflow.com/questions/514371/…。您是否检查以确保您的模块导入不依赖于任何其他模块或 builtins?
-
我确实检查了那个问题。我的脚本只有两个导入:一个是 sys(它工作正常,因为它放在另一个导入之前),一个是导致错误的另一个模块。
-
也许尝试运行
python -v script.py。-v标志将导致 python 在加载模块时打印出所有导入。这可能会提供有关问题发生位置的线索。 -
你试过删除/home/mostafa/python/list.pyc吗?假设你有
list.py,python3 会生成一个新的 list.pyc。 -
This 是我运行“python3 -v test.py”时得到的。我不能说我看到任何可以帮助的东西,但也许我错过了一些东西。
标签: python python-3.x