所以我试图让我的游戏在pyGame使用pyOpenGL准备分发给朋友谁没有pyGame或pyOpenGL -所以我运行这样的脚本使用py2exe:
from distutils.core import setup
import py2exe
setup(windows=['Menu.py'],
options={
"py2exe": {
"includes": ["ctypes", "logging"],
"excludes": ["OpenGL"],
}
}
)
,这是他们在http://www.py2exe.org/index.cgi/PyOpenGL上的建议,后来将OpenGL文件夹复制到dist文件夹和其中的zip,但我仍然得到相同的错误:
Traceback (most recent call last):
File "Menu.py", line 12, in <module>
File ".OpenGLGL__init__.py", line 3, in <module>
from OpenGL import error as _error
File ".OpenGLerror.py", line 12, in <module>
from OpenGL import platform, _configflags
File ".OpenGLplatform__init__.py", line 35, in <module>
_load()
File ".OpenGLplatform__init__.py", line 26, in _load
plugin_class = plugin.load()
File ".OpenGLplugins.py", line 15, in load
return importByName( self.import_path )
File ".OpenGLplugins.py", line 35, in importByName
module = __import__( ".".join(moduleName), {}, {}, moduleName)
File ".OpenGLplatformwin32.py", line 3, in <module>
import platform
ImportError: No module named platform
我也试过粘贴
import sys
sys.path += ['.']
在Menu.py的顶部,然后
from ctypes import util
try:
from OpenGL.platform import win32
except AttributeError:
pass
中——正如他们所建议的——但也无济于事,同样的错误仍然存在。我怎么解决这个问题?
好吧,所以经过几天的战斗,我决定尝试另一种选择,所以我找到了pyInstaller,我衷心推荐给每个在pyGame + pyOpenGL to exe combo(这对我来说仍然看起来不可能)遇到麻烦的人。它包含了所有的东西,我没有准备任何设置脚本,也没有传递任何参数。