DLL加载失败:%1不是有效的Win32应用程序 - Appcelerator
当我尝试在内置Android模拟器上运行Appcelerator(3.1.x)中的应用程序时,出现如下Python错误:DLL加载失败:%1不是有效的Win32应用程序 - Appcelerator
Traceback (most recent call last): File "C:\Users\Donny\AppData\Roaming\Titanium\mobilesdk\win32\3.1.3.GA\android\fastdev.py", line 10, in <module> import urllib, threading File "C:\csvn\Python25\lib\urllib.py", line 26, in <module> import socket File "C:\csvn\Python25\lib\socket.py", line 47, in <module> import _socket ImportError: DLL load failed: %1 is not a valid Win32 application.
我不精通Python,但我从this question,this question和this one理解,是我有一个Python的32位版本的尝试调用64位的DLL,对不对?我在64位版本的Windows 7上运行,所以这是有道理的。如果是这种情况,我该如何解决这个问题?我是否需要修改Appcelerator中的某些内容以使用64位版本的Python,或者将其指向32位DLL?
它似乎使用this script来查找您的系统的Python。该脚本似乎在挑选C:\csvn\Python25
中的Python安装,该安装显然与Collabnet的SVN for Windows一起提供,很可能不是完整的Python安装。
你应该从python.org安装一个标准的64位Python。这个小批处理脚本似乎表明他们支持Python 2.5和2.6,但2.7也可能工作。也许安全起始于2.6:http://www.python.org/download/releases/2.6.6/
只需安装到C:\Python26
的正常默认安装路径,并确保环境变量的路径早于%PATH%
环境变量。
这绝对是指向正确的方向,但它并没有完全解决我的问题。 – Don
好吗?那么现在有什么困难? – Iguananaut
哇。没关系。这就是诀窍!我只是再次测试它,它正在运行。非常感谢! – Don
我有一个不同的脚本相同的问题。
我的计算机上安装了32位和64位的python,当我输入'python'时,它会运行32位版本。
我重新安装了我的64位版本,然后在我刚输入python时选择了那个版本。
只需将正确的Python首先放在你的'%PATH%'上即可。 – Iguananaut
这看起来像是一个字符串格式错误。我想,代码应该是这样的ctype.WinDll('%1'%dllPath),但字符串不符合预期的格式,所以ctype对待'%1'就像一个dll路径。
只是猜测。
虽然这是错误的和烦恼,它并不特别与这个问题有关。 – Iguananaut
此答案可能有帮助... http://stackoverflow.com/questions/19019720/importerror-dll-load-failed-1-is-not-a-valid-win32-application-but-the- dlls –
是的。我试过了。谢谢你。 – Don