概述
使用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'],)
提前致谢!
RuntimeWarning: import transform: No module named _view (ImportError: No module named _view)
显然,这使得’pygame.Surface`无法导入,并且未被计算机识别为函数.所以,错误信息毕竟是有道理的.
总结
以上是编程之家为你收集整理的python – 游戏从源代码运行良好,但不是从py2app运行全部内容,希望文章能够帮你解决python – 游戏从源代码运行良好,但不是从py2app运行所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧