2012-02-16 68 views
0

我在Windows XP上使用py2exe生成了一個.exe文件。分發時,此可執行文件在Windows XP和Windows 7上平穩運行。在Parallels Desktop上運行通過py2exe生成的.exe

但是,在通過Mac的Parallel Desktop模擬的Windows XP上啓動時,出現錯誤,指出「應用程序由於配置不正確而無法啓動」。並建議我重新安裝它。如果在啓用控制檯的情況下構建,則系統不會生成任何錯誤消息,並且控制檯窗口會在消失之前短暫閃爍。該應用程序不會啓動。

分發時,我從包含msvcp90.dll的目錄啓動.exe。我相信其他一切都被捆綁到了.exe中。我已經包含了我的setup.py文件以供參考。

有沒有人設法通過Windows系統上的py2exe生成一個.exe,然後在並行桌面上運行?

setup.py:

from distutils.core import setup 
import py2exe, sys, os 

sys.argv.append('py2exe') 

setup(
    options = {'py2exe': {'bundle_files': 1}}, 
    windows = [{'script': "frontend.py"}], 
    zipfile = None 
) 
+0

我通過在Windows 7機器上而不是Windows XP機器上編譯應用程序(相同的源代碼和setup.py)解決了這個問題。我不確定爲什麼這樣解決了這個問題,但是隨着XP編譯出現的任何依賴問題都會隨着7編譯而消失。 – user1214595 2012-02-23 20:24:40

回答

1

這可能是因爲這是由於沒有被安裝在平行桌面XP的微軟的Visual C++運行時的DLL。我想你可能需要安裝Microsoft Visual C++ 2008 SP1 Redistributables;你可以從這裏得到它們:http://www.microsoft.com/download/en/details.aspx?id=5582。 請注意,您可能需要安裝非SP1可再發行組件或安裝VC8/Visual C++ 2005 - 我不確定究竟需要什麼,也可能取決於Python版本。

通常,這不是Parallel Desktop的問題,它只是一個需要符合的依賴關係,如果您使用的是安裝程序,則會自動安裝可再分發組件。一旦你在電腦上安裝了它們,它就應該可以正常工作。

+0

感謝您的提示。這似乎是一個有前途的解決方案但是,我嘗試安裝兩個建議的DLL集,問題依然存在。另外,我發現了將在並行系統上啓動的舊版軟件。該版本在Windows 7機器上編譯,其安裝和源文件與上述文件相同。怪異。真的很可怕。 – user1214595 2012-02-23 17:12:06