python直接使用pyc_如何从不同版本的python导入* .pyc文件?

本文探讨了在不同Python版本中导入模块时出现的DLL加载失败问题。作者在使用Python 2.5时能够成功导入名为irit.py的模块及其中的_irit.pyc文件,但在升级到Python 2.6.4后遇到了DLL加载失败的错误。通过分析,可能是由于_irit.pyc尝试导入的.pyd文件在新版本中缺失或不兼容导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I used python 2.5 and imported a file named "irit.py" from C:\util\Python25\Lib\site-packages directory. This files imports the file "_irit.pyc which is in the same directory. It worked well and did what I wanted.

Than, I tried the same thing with python version 2.6.4. "irit.py" which is in C:\util\Python26\Lib\site-packages was imported, but "_irit.pyc" (which is in the same directory of 26, like before) hasn't been found. I got the error message:

File "C:\util\Python26\lib\site-packages\irit.py", line 5, in

import _irit

ImportError: DLL load failed: The specified module could not be found.

Can someone help me understand the problem and how to fix it??

Thanks, Almog.

解决方案

"DLL load failed" can't directly refer to the .pyc, since that's a bytecode file, not a DLL; a DLL would be .pyd on Windows. So presumably that _irit.pyc bytecode file tries to import some .pyd and that .pyd is not available in a 2.6-compatible version in the appropriate directory. Unfortunately it also appears that the source file _irit.py isn't around either, so the error messages end up less informative that they could be. I'd try to run python -v, which gives verbose messages on all module loading and unloading actions -- maybe that will let you infer the name of the missing .pyd when you compare its behavior in 2.5 and 2.6.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值