尝试导入.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