On 2009-10-09 19:08 PM, David Robinow wrote:
On Fri, Oct 9, 2009 at 5:02 PM, Ethan Furman<et...@stoneleaf.us>  wrote:
A puzzlement:

I used easy_install the other day to get xlutils on my system.  It
automatically installed xlrd and xlwt as well.  This is cool.  What's not so
cool are my tracebacks.  E.g.

Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)]
on win32
Type "help", "copyright", "credits" or "license" for more information.
-->  import xlwt
-->  xlwt.__name__
'xlwt'
-->  xlwt.__file__
'C:\\Python25\\lib\\site-packages\\xlwt-0.7.2-py2.5-win32.egg\\xlwt\\__init__.pyc'
-->  xlwt.Workbook().save('non-file')
Traceback (most recent call last):
  File "<stdin>", line 1, in<module>
  File
"c:\docume~1\ethanf\locals~1\temp\easy_install-q1s1rb\xlwt-0.7.2-py2.5-win32.egg.tmp\xlwt\Workbook.py",
line 634, in save
  File
"c:\docume~1\ethanf\locals~1\temp\easy_install-q1s1rb\xlwt-0.7.2-py2.5-win32.egg.tmp\xlwt\Workbook.py",
line 615, in get_biff_data
IndexError: list index out of range
-->

Anyone know why that is?

~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list

You can't save a workbook with no worksheets.
Try:
W = xlwt.Workbook()
W.add_sheet('no-sheet')
W.save('non-file')

I think he's asking why the exception message does not have the source lines in the traceback, like exceptions inside regularly installed packages.

The answer is that once files are zipped, like the egg that you have installed, the traceback printing function in C does not know how to get at the source files any more. The traceback printing function in the pure Python traceback module does, though. Try this:

>>> import sys
>>> import traceback
>>> sys.excepthook = traceback.print_exception

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to