easy install
Ethan Furman
ethan at stoneleaf.us
Sat Oct 10 09:53:39 EDT 2009
>Ethan Furman 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~
Robert Kern:
> 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
>
Gabriel Genellina:
> Delete all the .pyc files and let Python regenerate them (or use the
> compileall module). Code objects (stored in the .pyc files) carry
> their source file name with them.
Awesome! Many thanks!
~Ethan~
More information about the Python-list
mailing list