On Mar 19, 2008, at 3:52 PM, Marius Gedminas wrote:

> On Wed, Mar 19, 2008 at 03:37:59PM -0400, Jim Fulton wrote:
>> On Mar 18, 2008, at 2:51 PM, Marius Gedminas wrote:
>> ...
>>> os.path.join(os.path.dirname(__file__), 'foo') just has too many
>>> problems.
>>
>> Could you be specific?
>
> I suppose I was thinking about the stale .pyc file problem, mostly.
>
>
> zc.buildout/setuptools/distutils (I'm not sure which part of the stack
> is to blame) likes to compile modules in a temporary directory and  
> then
> move the .py and .pyc files to their final location.  As a result,
> __file__ points to the now-nonexistent directory.

You are mistaken.  The file information in the code object is wrong,  
which is wildly annoying when looking at traceback or using pdb, but   
__file__ is correct.

BTW, I'm pretty sure the bad code file information is my fault.  I  
definitely plan to fix this.

> Aside: I never understood the reason for storing the value of __file__
> in the .pyc/.pyo file itself.  Why not set it to the correct value on
> import time?

Agreed.  But this has no impact on resource loading.

Jim

--
Jim Fulton
Zope Corporation


_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to