我想讓我的遊戲運行。該代碼需要xml.sax。我用py2exe導入它,它仍然不想工作。我已經嘗試了幾天和幾天,我無法讓它工作。在我將它編譯爲.exe之前它可以工作,但是每當我將它編譯爲exe時,它都不起作用。python xml.sax沒有解析器找到py2exe
運行:
[ - ]的Python 2.7.9 32位
[ - ] py2exe 0.6.9 32位
的錯誤是:SAXReaderNotAvailable: No parsers found
這裏是我的遊戲代碼:
import xml.sax
class DNAError(Exception): pass
class DNAParseError(DNAError): pass
elementRegistry = {}
def registerElement(element):
elementRegistry[element.TAG] = element
class DNASaxHandler(xml.sax.ContentHandler):
def __init__(self):
xml.sax.ContentHandler.__init__(self)
self.stack = []
self.root = None
def startElement(self, tag, attrs):
if self.stack:
parent = self.stack[-1]
parentTag = parent.TAG
else:
parent = None
parentTag = None
element = elementRegistry.get(tag)
if not element:
raise DNAParseError('Unknown element type: ' + tag)
if parentTag not in element.PARENTS:
raise DNAParseError('Cannot put %s below %s element' % (tag, parentTag))
element = element(**attrs)
self.stack.append(element)
element.reparentTo(parent)
if not self.root:
self.root = element
def endElement(self, tag):
self.stack.pop(-1)
def characters(self, chars):
if not self.stack:
return
self.stack[-1].handleText(chars)
def parse(stream):
handler = DNASaxHandler()
xml.sax.parse(stream, handler)
return handler.root
這是我的py2exe編譯腳本:
from distutils.core import setup
import py2exe
setup(
options={"py2exe": {"includes": [ "xml.sax.drivers.*", "xml.sax.drivers2.*", "xml.sax" ] }},
zipfile = None,
windows = ['relived.py']
)
OMG請!我有這個錯誤的日子和日子! –