1
我發現了一件奇怪的事情。當我通過PyCharm運行python代碼時,我的應用程序工作正常。但是當我通過py2exe應用程序崩潰的exe文件錯誤:Python 2.7:xml.sax._exceptions.SAXReaderNotAvailable:沒有發現解析器
Traceback (most recent call last):
File "main.py", line 23, in CreateNewClientRequest
File "suds\client.pyc", line 112, in __init__
File "suds\reader.pyc", line 152, in open
File "suds\wsdl.pyc", line 136, in __init__
File "suds\reader.pyc", line 79, in open
File "suds\reader.pyc", line 101, in download
File "suds\sax\parser.pyc", line 127, in parse
File "suds\sax\parser.pyc", line 111, in saxparser
File "xml\sax\sax2exts.pyc", line 37, in make_parser
File "xml\sax\saxexts.pyc", line 77, in make_parser
xml.sax._exceptions.SAXReaderNotAvailable: No parsers found
有誰知道如何解決這個問題? 這裏是我的一個Python代碼樣本(可能是它可以幫助):
# -*- coding: UTF-8 -*-
import sys, xml
from PyQt4 import QtGui
from window import Ui_SmartRequest
from suds.client import Client
class Main(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.ui = Ui_SmartRequest()
self.ui.setupUi(self)
self.ui.btn.clicked.connect(self.CreateNewClientRequest)
def CreateNewClientRequest(self):
shop = self.ui.shop_line.text()
shop1 = "%s" %shop
card_id = self.ui.card_line.text()
card_id1 = "%s" %card_id
anketa = self.ui.anketa_line.text()
anketa1 = "%s" %anketa
client = Client('http://172.16.0.37:8000/CardPort?wsdl')
out = client.service.CreateNewClientRequest(shop1, card_id1, anketa1)
out1 = "%s" %out
out2 = str(out1[19:38])
out3 = out2.replace("}", "")
self.ui.line_out.setText("Code:"+out3)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = Main()
window.show()
sys.exit(app.exec_())
而且還從setup.py代碼:
from distutils.core import setup
import py2exe
setup(
windows=[{"script":"main.py"}],
options={"py2exe": {"includes":["PyQt4","sip","suds","sys","os","wstools","defusedxml", "xml.sax"]}},
zipfile=None
)
,我會很高興,如果有人可以幫助我!
[鏈接](http://www.py2exe.org/index.cgi/py2exeAndSOAPpy) - 這裏解決。 @FrEaKmAn「謝謝」 – AntonyParker