[Distutils] Using `pkg_resources` without importing the module
cool-rr at cool-rr.com
Tue Jul 12 17:52:41 CEST 2011
On Mon, Jul 11, 2011 at 4:36 AM, P.J. Eby <pje at telecommunity.com> wrote:
> At 12:38 AM 7/11/2011 +0200, cool-RR wrote:
> On Mon, Jul 11, 2011 at 12:33 AM, P.J. Eby <<mailto:pje at telecommunity.com
>> **>pje at telecommunity.com> wrote:
>> At 09:25 PM 7/10/2011 +0200, cool-RR wrote:
>> I want to use `pkg_resources` to retrieve an image file from a Python
>> package. But I want to do this without importing the actual package. Is this
>> possible using `pkg_resources`, or does it import the package?
>> It imports the package, as it needs to know what loader object was used,
>> to know whether it will be reading from a zipfile or whatever else.
>> Hm. Are you familiar with any other method that can be used to get
>> resources without importing?
>> If you don't, then my next direction is to combine `pkg_resources` with my
>> "module-tasting" technique; using an `__import__` hook to do a very
>> minimialistic import of a module/package, without importing any other
>> modules that it tries to import. Do you think that this minimalistic import
>> will give `pkg_resources` enough data (about the loader or otherwise) to get
>> the resources?
> Dunno. It looks for a __loader__ attribute, so that's got to be there.
> (Unless it's a normal filesystem package or module; that's the case where
> __loader__ is not normally set.)
Yes, I got it to work! So now I can use `pkg_resources` on a package without
having to fully import you.
After my code is finalized I'll describe the solution and show the code.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Distutils-SIG