Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从不同版本的python导入*.pyc文件?_Python_Import_Version_Pyc - Fatal编程技术网

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

如何从不同版本的python导入*.pyc文件?,python,import,version,pyc,Python,Import,Version,Pyc,我使用Python2.5并从C:\util\Python25\Lib\site packages目录导入了一个名为“irit.py”的文件。此文件导入同一目录中的文件“\u irit.pyc”。它运行良好,满足了我的要求。 然后,我在python版本2.6.4中尝试了同样的方法。导入了C:\util\Python26\Lib\site包中的“irit.py”,但没有找到“_irit.pyc”(与以前一样,位于26的同一目录中)。我收到了错误消息: 文件“C:\util\Python26\lib\

我使用Python2.5并从C:\util\Python25\Lib\site packages目录导入了一个名为“irit.py”的文件。此文件导入同一目录中的文件“\u irit.pyc”。它运行良好,满足了我的要求。 然后,我在python版本2.6.4中尝试了同样的方法。导入了C:\util\Python26\Lib\site包中的“irit.py”,但没有找到“_irit.pyc”(与以前一样,位于26的同一目录中)。我收到了错误消息:

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

有人能帮我理解这个问题以及如何解决它吗??
谢谢,Almog。

“DLL加载失败“不能直接引用
.pyc
,因为它是字节码文件,而不是DLL;在Windows上,DLL应该是
.pyd
。因此,推测
\u irit.pyc
字节码文件试图导入一些
.pyd
,而
.pyd
在相应目录下的2.6兼容版本中不可用。不幸的是,源文件
\u irit.py
似乎也不存在,因此错误消息的信息量可能会比它们少。我会尝试运行
python-v
,它会给出关于所有模块加载和卸载操作的详细消息——也许这会让您在比较2.5和2.6中缺少的
.pyd
的行为时推断出它的名称。

Pyc文件不能保证在python版本之间兼容,所以即使您修复了缺少的dll,你仍然可能遇到问题