2013-04-26 63 views
5

我使用TCP,UDP和pygame製作了多人Pong遊戲。 我使用的模塊有:pygame,os,日誌記錄,線程,隨機,yaml(PyYAML)和套接字遊戲運行良好,但不是來自py2app

當用python2.7從命令行運行遊戲時,它運行良好,但編譯後的版本與py2app給我一個錯誤是:

TypeError: Error when calling the metaclass bases 
    function() argument 1 must be code, not str 

我用Google搜索周圍,和這個堆棧溢出的其他問題不作在我的情況下,任何意義上,它看起來。它給我的錯誤是:

class Entity(pygame.Surface): 
    def __init__(self, x, y, w, h, color=(255, 255, 255)): 
     pygame.Surface.__init__(self, (w, h)) 

正如你可能已經理解的,它在本例的第一行。使用pygame.Surface時會有些奇怪。雖然如我所說,但它在我在命令行中運行程序時起作用!

的py2app腳本我使用是這樣的:

from setuptools import setup 

    APP = ['src/client.py'] 
    OPTIONS = {'argv_emulation': True, 'includes': ['EXTERNAL LIBRARY'], } 

    setup(
     app=APP, 
     options={'py2app': OPTIONS}, 
     setup_requires=['py2app'], 
    ) 

提前感謝!

+0

自己找到了解決方案,抱歉打擾你了。 早些時候在命令行對它說: RuntimeWarning:進口變換: 顯然,那個讓這樣pygame.Surface無法導入並沒有被確認爲一個功能:名爲_view 無模塊(無模塊命名_view導入錯誤)電腦。 所以,這個錯誤信息畢竟有意義 – 2013-04-26 06:43:49

+0

不能,顯然我需要10個聲望才能在8小時內自己回答 – 2013-04-26 06:53:36

+1

@Zenolijo哦看你現在有10多個:)。 – squiguy 2013-04-26 07:21:39

回答

3

我自己找到了解決方案。在命令行早些時候說:

RuntimeWarning: import transform: No module named _view (ImportError: No module named _view) 

顯然,才造成了這種「pygame.Surface`無法導入和無法識別爲通過計算機的功能。所以,錯誤信息畢竟有意義。

相關問題