easy install

Ethan Furman ethan at stoneleaf.us
Fri Oct 9 20:49:46 EDT 2009


Robert Kern wrote:
> On 2009-10-09 19:08 PM, David Robinow wrote:
> 
>> On Fri, Oct 9, 2009 at 5:02 PM, Ethan Furman<ethan at 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
> 

Good to know, thank you.

Besides missing the source lines, I was also wondering why the path in 
the traceback is showing incorrectly; I have the egg in 
c:\python25\Lib\site-packages, not where the trackback says I have it.

In an effort to get it looking right, as well as to get the missing 
source lines, I broke the egg and copied the xlwt folder out of it and 
directly into site-packages -- everything (except the trackbacks, grrr) 
still worked, leaving me as mystified as ever.

Any light to shed on that strangeness?

~Ethan~



More information about the Python-list mailing list