在同一个脚本中使用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()
注释掉“来自PyQt4导入QtGui”修复了这个问题,虽然我需要使用Gui来获取要发送到Excel文件的信息。关于解决方案的任何想法?我用openpyxl而不是xlsxwriter尝试过类似的代码,我仍然得到一个seg。故障。
seg。 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模块。
答案 0 :(得分:1)
也许它与编写XML
有关
可能不是。 XlsxWriter使用它自己的xml编写器。
段错误似乎在libz
中,它是从核心zipfile模块调用的,它由XlsxWriter和OpenPyXL使用。