ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

junjielee 2014-07-28 12:53:26
win7: 64位
python2.7:64位
cx_Oracle:32位

Orale client 如下
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

在python下输入:
import cx_Oracle

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
import cx_Oracle
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

这是什么问题,怎么解决???
...全文
17854 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
DavinaT91 2014-08-27
  • 打赏
  • 举报
回复
请问下楼主问题解决了么~~请教下,我是用C写了一个python扩展,已经编译成pyd文件,运行的时候报错,mportError: DLL load failed: %1 不是有效的 Win32 应用程序。win764位,python,python-mysql都是32位的,求解惑~谢谢
乔巴好萌 2014-07-29
  • 打赏
  • 举报
回复
用dll depenedency看看 是否你调用的dll还依赖其他的dll 这些有时dll都没问题 也不一定work 因为python在windows上往往都是用特定的编译器编译出来的(大部分都是MS VC++) 启动的时候 可以看到python是用哪个版本的VC++编译出来的 对应的dll最好也是该平台的VC编译出来的
  • 打赏
  • 举报
回复
引用 2 楼 itlijunjie 的回复:
[quote=引用 1 楼 xmnathan 的回复:] 一个64位的程序调用32位的动态库 请把你的换成 Python cx_Oracle oracle_client 等 都换成统一的32位的或者64位的。。。
Oh~~ no~ win7的64位不用换吧????[/quote] 不用-。- 64位系统是兼容32位程序的
junjielee 2014-07-28
  • 打赏
  • 举报
回复
引用 1 楼 xmnathan 的回复:
一个64位的程序调用32位的动态库 请把你的换成 Python cx_Oracle oracle_client 等 都换成统一的32位的或者64位的。。。
Oh~~ no~ win7的64位不用换吧????
  • 打赏
  • 举报
回复
一个64位的程序调用32位的动态库 请把你的换成 Python cx_Oracle oracle_client 等 都换成统一的32位的或者64位的。。。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧