Joh*_*olt 5 python py2app python-2.7
我用TCP,UDP和pygame做了一个多人Pong游戏.我正在使用的模块是:pygame,os,logging,threading,random,yaml(PyYAML)和socket
使用python2.7从命令行运行游戏时效果很好,但是使用py2app编译的版本给出了一个错误,即:
TypeError: Error when calling the metaclass bases
function() argument 1 must be code, not str
Run Code Online (Sandbox Code Playgroud)
我已经google了一下,关于堆栈溢出的其他问题在我看来似乎没有任何意义.它给我错误的行是:
class Entity(pygame.Surface):
def __init__(self, x, y, w, h, color=(255, 255, 255)):
pygame.Surface.__init__(self, (w, h))
Run Code Online (Sandbox Code Playgroud)
您可能已经理解,它位于此示例的第一行.使用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'],
)
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我自己找到了解决方案。早些时候在命令行中它说:
RuntimeWarning: import transform: No module named _view (ImportError: No module named _view)
Run Code Online (Sandbox Code Playgroud)
显然,这使得“pygame.Surface”无法导入并且不被计算机识别为函数。所以,错误消息毕竟是有道理的。
归档时间: |
|
查看次数: |
217 次 |
最近记录: |