469,353 Members | 2,066 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,353 developers. It's quick & easy.

Re: (relative) import trouble, sometimes it works, sometimes itdoesn't ...

En Sat, 18 Oct 2008 05:52:04 -0300, Stef Mientki <st**********@gmail.com>
escribió:
I'm running Python 2.5 and want my programs to run at least under
Windows and Linux (preferable also Mac).
So I guess I should always use relative paths.

From most modules I can call a global function,
that should import a dictionary from path deeper than the module itself.
The import is done in the global function.
In that global function, I get the modules path by

SourceFile = sys._getframe(1).f_code.co_filename
Why don't you let the caller tell you its own location, using __file__?
The above code is too much magic for me.
now to be sure to succeed the import (at least I was thinking this would
always be successful :-(
I need to
1- add the path of the module to be imported to sys.path
(or do a dot import)
Yes.
2- keep track of already done imports, to give a reload the next time
(or maybe always do an import followed by an reload ?)
A reload is only required if the module was changed on disk and you want
to get the later version.
Now what I don't understand is what relative path should I use in 1:
- relative to the main application
- relative to the working directory were I started the application
- relative to the current working directory
- relative to the module that is doing the import
- relative to the module that called the global function
Relative imports assume you are inside a *package*, and they're relative
to the current module location, each dot being one level above. See
http://www.python.org/dev/peps/pep-0328/
I would be pleased if someone could enlighten me,
because this information is hard to find.
Yes. How import works is very poorly documented, unfortunately. You'll
have to dig into the various PEPs and the bug tracker.

--
Gabriel Genellina

Oct 21 '08 #1
0 1331

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Frans Englich | last post: by
3 posts views Thread by tsteinke | last post: by
18 posts views Thread by Nak | last post: by
1 post views Thread by geoffblanduk_nospam | last post: by
reply views Thread by Anders J. Munch | last post: by
reply views Thread by Echo | last post: by
12 posts views Thread by Alan Isaac | last post: by
reply views Thread by Kay Schluehr | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
1 post views Thread by Marylou17 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.