如何在使用PyInstaller创建的可执行文件上使用xml.sax模块?

时间:2011-08-30 09:36:33

标签: python

我希望我的应用程序使用xml.sax.parse读取文档。事情很好但是当我将可执行文件移动到Windows服务器2008机器时,事情就会崩溃。我收到了“找不到解析器”消息的SAXReaderNotAvailable异常。

我用来构建可执行文件的设置是:

  • 64位Windows 7
  • Python 2.7.2 32位
  • PyInstaller 1.5.1

2 个答案:

答案 0 :(得分:1)

SAX读者似乎是动态导入的,因此静态分析无法检测到它们,也无法嵌入应用程序。

要纠正这个问题,你必须明确强制PyInstaller导入那些hidden modules

尝试将此添加到.spec(感谢Velociraptors)文件:

hiddenimports = ['xml.sax.drivers', 'xml.sax.drivers2']

答案 1 :(得分:0)

可执行文件结果没问题。由于某种原因或其他原因,PATH中所需的dll版本错误,可执行文件最终尝试使用这些版本。