2013-04-26 5 views
5

TCP, UDP 및 파이 게임으로 멀티 플레이 탁구 게임을 만들었습니다. pygame, os, logging, threading, random, yaml (PyYAML) 및 소켓게임은 소스에서 제대로 실행되지만 py2app에서는 실행되지 않습니다.

python2.7을 사용하여 명령 줄에서 게임을 실행하면 잘 작동하지만 py2app로 컴파일 된 버전 내가 주변에 검색 좀하고있다

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

스택 오버 플로우에 이것에 대해 다른 질문이 보인다 내 경우에는 이해가되지 않습니다 나에게있는 오류를 제공합니다. 오류가 발생하는 행은 다음과 같습니다.

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

이해할 수 있겠지만이 예제의 첫 번째 줄에 나와 있습니다. 파이 게임을 사용할 때 뭔가 이상합니다. 표면. 비록 내가 말했듯이, 그것은 명령 행에서 프로그램을 실행할 때 작동한다!

내가 사용하는 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 : 수입 변환하지 : _view라는 이름의 모듈 (ImportError를 : 아니오 모듈 이름 _view) 분명히 , 그래서 pygame.Surface는 가져올 수 없습니다 만든에서 함수로 인식되지 않았습니다 컴퓨터. 그럼, 오류 메시지는 결국 –

+0

수 없습니다, 분명히 8 시간 이내에 직접 자신에게 대답하기 위해 10 평판이 필요합니다 –

+1

@ Zenolijo 오, 당신은 지금 10 개 이상을 보입니다 :). – squiguy

답변

3

해결책을 직접 찾았습니다. 이전 명령 줄은 말했다 : 분명히

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

를, 그렇게 'pygame.Surface`을 가져올 수 없습니다 컴퓨터에 의해 함수로 인식되지 않았습니다 만든 그. 따라서 오류 메시지는 결국 의미가 있습니다.

관련 문제