2012-06-27 30 views
0

我使用GUI2Exe到我的Python/pygame的,遊戲編譯爲一個.exe文件降落傘分段錯誤 - pygame的到py2exe

我與字體模塊有問題。

使用python 2.7和py2exe選項在GUI2Exe 我已經更新了python,pygame和py2exe的2.7版本。 我的程序運行良好,但在我用py2exe編譯後,我得到了這個。

這裏是我的錯誤:

Fatal Python error: (pygame parachute) Segmentation Fault 

This application has requested the Runtime to terminate it in an unusual way. 
Please contact the application's support team for more information. 

我的遊戲開始了作爲一個控制檯和部分運行。但是一旦顯示開始,我就會崩潰。

感謝

+0

我不認爲這是一個重複的問題,但它是非常相似的這一個:http://stackoverflow.com/questions/6646154/fatal-python-error-pygame-parachute我可能會建議你按照鏈接,看看它是否有助於回答你的問題? – hammythepig

+1

我已經嘗試使用該鏈接的pygame版本,它導致我出現相同的錯誤。然而在閱讀本文後,我從頭開始並再次使用pygame版本。這一次它運行良好,沒有任何問題。我不知道我做了什麼不同,但我的問題現在已解決,謝謝! – user1473612

+0

沒有問題!樂於幫助 :) – hammythepig

回答

0

不要使用gui2exe使用該文件從這個鏈接:http://pygame.org/wiki/Pygame2exe

按照說明進行操作,並根據需要修改該文件。將文件放在與「遊戲」主目錄相同的目錄中,然後從控制檯運行該文件。

1

有類似的問題,也有一個。找到了解決這些問題的方法:

幾周後(甚至有過這個問題)我很高興地說我解決了這個問題! :)我的問題(http://i.stack.imgur.com/WpkjR.png)的

第1部分: 我通過編輯setup.py腳本加入「排除」在這部分解決了這個問題。這導致了可執行文件的成功製作!

修改setup.py腳本:

from distutils.core import setup 
import py2exe 
setup(windows=['source_static.py'], options={ 
      "py2exe": { 
       "excludes": ["OpenGL.GL", "Numeric", "copyreg", "itertools.imap", "numpy", "pkg_resources", "queue", "winreg", "pygame.SRCALPHA", "pygame.sdlmain_osx"], 
       } 
      } 
    ) 

所以,如果你有類似的問題,只是把那些「失蹤」的模塊到這個「不包括」行。

第2部分:

我成功的可執行文件的製作後,我有一個問題:應用程序已請求運行時終止它以不同尋常的方式,請聯繫...。經過幾天和幾天的搜索和思考如何解決這個問題,我找到了一個辦法。我不敢相信這個問題太荒唐了。這個問題在我的代碼,與字體定義:

font1 = pygame.font.SysFont(None, 13) 

改變「」一些系統字體的名稱(一個例子「宋體」(必須是一個字符串)),並編譯之後,我不能不相信我的.exe文件起作用了!

font1 = pygame.font.SysFont("Arial", 13) 

當然,您可以使用自己的字體,但必須指定其路徑並在程序中定義它的路徑。

因此,對於所有遇到此問題的人,請嘗試這些步驟,並希望您能成功。 我真的希望這會對你有所幫助,因爲我已經花了幾天和幾周的時間去解決這些問題。我甚至試圖讓我的。exe文件與所有版本的python和pygame,與許多其他的.exe構建器和安裝腳本,但沒有運氣。除了這些問題之外,我還遇到過許多其他問題,但我在stackoverflow.com上找到了答案。

我很高興我找到了一種方法來解決這個問題,並幫助你,如果你面對同樣的問題。

小tips(事我也做):

1:更新您的Microsoft Visual C++庫到最新版本。

第二種:如果您的圖像或字體類似於您的可執行程序需要,請將它們包括到dist文件夾(您的.exe文件已創建的位置)。

第3步:當您製作.exe文件時,將所有需要的文件包含到setup.py腳本所在的文件夾(主腳本使用的所有文件和目錄)中。

使用Python 2.7版的x64pygame的py2exe