我目前在同一脚本中使用 Python 模块 Xlsxwriter 和 PyQt4 时遇到分段错误。在运行 Xlsxwriter 时简单地导入 PyQt4 会导致分段错误。
import sys
from PyQt4 import QtGui
def WriteExcel(guitext,filename):
import xlsxwriter
workbook = xlsxwriter.Workbook(filename)
worksheet = workbook.add_worksheet('Test Tab')
worksheet.write(0, 0, guitext)
workbook.close()
return
def main():
WriteExcel('test text', 'test.xlsx')
if __name__ == '__main__':
main()
注释掉“from PyQt4 import QtGui”解决了这个问题,尽管我需要使用 Gui 来获取发送到 Excel 文件的信息。关于变通的任何想法?我用 openpyxl 而不是 xlsxwriter 尝试了类似的代码,但我仍然得到一个段。过错。
段。gdb 的故障结果如下。
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from [path to]/anaconda/bin/python...done.
Starting program: [path to]/anaconda/bin/python qtgui-excel.py
[Thread debugging using libthread_db enabled]
Program received signal SIGSEGV, Segmentation fault.
0x00002aaab0541624 in fill_window () from [path to]/anaconda/lib/libz.so.1
也许它与编写 XML 有关?
更新:
跟踪 Xlsxwriter 中 ZipFile 命令中使用的压缩错误。
zipfile.ZIP_DEFLATED
根据 Zipfile 文档,此压缩使用 libz 模块。