如何从不同版本的python导入* .pyc文件?

问题描述:

我使用了python 2.5,并从C:\ util \ Python25 \ Lib \ site-packages目录中导入了一个名为“irit.py”的文件。这个文件导入了文件“_irit.pyc”,它在同一个目录中,它运行良好,做了我想要的。 比我用python版本2.6.4试过同样的东西。“irit.py”在C: \ util \ Python26 \ Lib \ site-packages已被导入,但是“_irit.pyc”(与以前一样位于26的同一目录中)没有找到我收到的错误消息:如何从不同版本的python导入* .pyc文件?

文件“ C:\ UTIL \ Python26 \ LIB \站点包\ irit.py”,5号线,在 进口_irit 导入错误:DLL加载失败:指定的模块找不到

有人可以帮助我了解。问题以及如何解决它? 谢谢,Almog。

“DLL加载失败”不能直接引用.pyc,因为这是一个字节码文件,而不是DLL; Windows上的DLL将为.pyd。因此推测_irit.pyc字节码文件尝试导入一些.pyd,并且.pyd在适当的目录中不兼容2.6版本。不幸的是,它也出现在源文件_irit.py不在附近,所以错误信息最终会导致信息量减少。我试着运行python -v,它给出了所有模块加载和卸载操作的详细消息 - 当您比较它在2.5和2.6中的行为时,可能会让您推断缺失的.pyd的名称。

pyc文件不能保证在python版本中兼容,所以即使你修复了缺失的dll,仍然可能遇到问题。