DLL加载失败:%1不是有效的Win32应用程序 - Appcelerator

时间:2013-12-14 15:13:32

标签: android python dll appcelerator

当我尝试在内置的Android模拟器上运行Appcelerator(3.1.x)中的应用程序时,我遇到了这样的Python错误:

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的理解是,我有一个32位版本的Python试图调用64位DLL,对吗?我正在运行64位版本的Windows 7,所以这是有道理的。如果是这种情况,我该如何解决这个问题呢?我是否必须修改Appcelerator中的某些内容才能使用64位版本的Python或者可能将其直接转换为32位DLL?

3 个答案:

答案 0 :(得分:2)

似乎使用this script来定位系统的Python。该脚本似乎正在C:\csvn\Python25中安装Python安装,这显然是随着Collabnet的Windows SVN一起提供的,很可能不是完整的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%环境变量的早期。

答案 1 :(得分:1)

我对不同的脚本也有同样的问题。

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

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

答案 2 :(得分:0)

这似乎是字符串格式错误。

我猜,代码应该是这样的ctype.WinDll('%1'%dllPath),但是字符串没有按预期格式化,所以ctype将'%1'视为dll路径。

猜猜。