Alex Martelli wrote:
> Jeremy Sanders <[EMAIL PROTECTED]> wrote:
> 
>> Hi - Is it possible to override the import process so that if in my program
>> I do
>> 
>> import foo.bar
>> 
>> Python will look for bar in a directory which isn't called foo?
>> 
>> I want my module/program to be able to be run without being installed in
>> site-packages, so by doing "import foo.bar", it should start looking for
>> bar in the current directory which could be called "foo-0.43".
>> 
>> I've tried overriding __import__, chopping out "foo." from package names,
>> but that tends to break. I've also tried overriding imp.find_module() but
>> Python never appears to use my version.
>> 
>> Any ideas?
> 
> Yes, PEP 302 (which despite being marked as "draft" has in fact been
> already mostly implemented, since it's used by the zipimport mechanism)
> allows you to perform such feats.  Study it at
> <http://www.python.org/dev/peps/pep-0302/> ...

There are also other ways.  You could extend __path__ of foo, and the
pkgutil module might also be useful.

Thomas

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to