[Distutils] Using `pkg_resources` without importing the module

cool-RR 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:
>> Hello,
>>
>> 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.


Ram.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20110712/6980ba01/attachment.html>


More information about the Distutils-SIG mailing list