尝试导入.pyc模块时出现错误的幻数

尝试在程序中导入某个模块(编译.pyc)时遇到一些问题。 我知道它在Python 2.6.6(r266:84297)中编译,我已经安装了相同的版本,但在尝试导入时出现错误“错误的幻数”:(

有人知道我做错了什么吗? 或者也许可以在.pyc模块中更改幻数?


正如Matthew所解释的答案,你的问题几乎肯定是由于编译和加载模块时使用了不同版本的Python。 你可以像这样确定幻数:

with open('pyuca.pyc', 'rb') as f:
    print struct.unpack('<H', f.read(2))

你可以通过打印sys.version来确定你的Python版本(它也会在交互式启动时得到回应)。 如果您使用Python 2.6.6,幻数应该是62161.如果不同,您需要切换到另一个Python才能导入模块。

完全相同的情况适用于.pyo文件。


我解决了这个问题

find . | grep .pyc$ | xargs rm

它删除了我的目录中的所有pyc文件。 之后,它是确定的。

链接地址: http://www.djcxy.com/p/63321.html

上一篇: Bad magic number while trying to import .pyc module

下一篇: Use the same model in two active admin classes