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

时间:2010-04-24 16:50:30

标签: python import version pyc

我使用了python 2.5并从C:\ util \ Python25 \ Lib \ site-packages目录导入了一个名为“irit.py”的文件。这个文件导入文件“_irit.pyc,它位于同一目录中。它工作得很好,做了我想要的。 比,我用python版本2.6.4尝试了同样的事情。导入了C:\ util \ Python26 \ Lib \ site-packages中的“irit.py”,但是找不到“_irit.pyc”(与26之前的同一目录)。我收到了错误消息:

文件“C:\ util \ Python26 \ lib \ site-packages \ irit.py”,第5行,in import _irit ImportError:DLL加载失败:找不到指定的模块。

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

2 个答案:

答案 0 :(得分:5)

“DLL加载失败”不能直接引用.pyc,因为那是一个字节码文件,而不是DLL; Windows上的DLL为.pyd。因此,假设_irit.pyc字节码文件尝试导入某些.pyd,并且.pyd在相应目录中的2.6兼容版本中不可用。不幸的是,似乎源文件_irit.py也不存在,因此错误消息最终可能不那么有用。我试着运行python -v,它会在所有模块加载和卸载操作上给出详细消息 - 当你比较它在2.5和2.6中的行为时,可能会让你推断出丢失的.pyd的名字

答案 1 :(得分:1)

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