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 questionthis questionthis one理解,是我有一个Python的32位版本的尝试调用64位的DLL,对不对?我在64位版本的Windows 7上运行,所以这是有道理的。如果是这种情况,我该如何解决这个问题?我是否需要修改Appcelerator中的某些内容以使用64位版本的Python,或者将其指向32位DLL?

+0

此答案可能有帮助... http://*.com/questions/19019720/importerror-dll-load-failed-1-is-not-a-valid-win32-application-but-the- dlls –

+0

是的。我试过了。谢谢你。 – Don

它似乎使用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%环境变量。

+0

这绝对是指向正确的方向,但它并没有完全解决我的问题。 – Don

+0

好吗?那么现在有什么困难? – Iguananaut

+0

哇。没关系。这就是诀窍!我只是再次测试它,它正在运行。非常感谢! – Don

我有一个不同的脚本相同的问题。

我的计算机上安装了32位和64位的python,当我输入'python'时,它会运行32位版本。

我重新安装了我的64位版本,然后在我刚输入python时选择了那个版本。

+1

只需将正确的Python首先放在你的'%PATH%'上即可。 – Iguananaut

这看起来像是一个字符串格式错误。我想,代码应该是这样的ctype.WinDll('%1'%dllPath),但字符串不符合预期的格式,所以ctype对待'%1'就像一个dll路径。

只是猜测。

+0

虽然这是错误的和烦恼,它并不特别与这个问题有关。 – Iguananaut