2013-12-14 134 views
4

當我嘗試在內置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://stackoverflow.com/questions/19019720/importerror-dll-load-failed-1-is-not-a-valid-win32-application-but-the- dlls –

+0

是的。我試過了。謝謝你。 – Don

回答

2

它似乎使用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

1

我有一個不同的腳本相同的問題。

我的計算機上安裝了32位和64位的python,當我輸入'python'時,它會運行32位版本。

我重新安裝了我的64位版本,然後在我剛輸入python時選擇了那個版本。

+1

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

0

這看起來像是一個字符串格式錯誤。我想,代碼應該是這樣的ctype.WinDll('%1'%dllPath),但字符串不符合預期的格式,所以ctype對待'%1'就像一個dll路徑。

只是猜測。

+0

雖然這是錯誤的和煩惱,它並不特別與這個問題有關。 – Iguananaut

相關問題