[Distutils] pkg_resources: failed require
Ian Bicking
ianb at colorstudy.com
Mon May 30 21:44:35 CEST 2005
Phillip J. Eby wrote:
> At 02:54 AM 5/30/2005 -0500, Ian Bicking wrote:
>
>> I notice when I install into app-packages/, then do:
>>
>> >>> from pkg_resources import *
>> >>> require('SomePackage')
>> ... fails ...
>> >>> import sys
>> >>> sys.path.append('app-packages')
>> >>> require('SomePackage')
>> ... still fails ...
>>
>> But if I fix sys.path immediately, then it does work, so the failure
>> seems to be sticky.
>
>
> That's very odd; require() doesn't do any caching. Even the PEP
> 302-defined caching (sys.path_importer_cache) is from *particular* path
> entries (e.g. app-packages) to importer objects created for them. So if
> app-packages wasn't on sys.path, it never would've had anything cached.
>
> Are you able to reliably reproduce the double-failure condition? Is the
> error message the same each time?
Hmm... I think I got it wrong, this works fine.
Maybe I was confusing this with a bug related to packages with spaces in
their names. In particular, WSGIUtils:
http://www.owlfish.com/software/wsgiutils/downloads/WSGI%20Utils-0.5.tar.gz
I suspect this doesn't work because it creates an egg
WSGI_Utils-0.5-py2.4.egg/, with a package name (in
WSGI_Utils-0.5-py2.4.egg/EGG-INFO/PKG-INFO) of "WSGI Utils"
--
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Distutils-SIG
mailing list