how to run python2.6 module with absolute imports stand alone

Mark Lawrence breamoreboy at yahoo.co.uk
Fri Sep 7 20:13:02 EDT 2012


On 07/09/2012 23:04, Gelonida N wrote:
> Hi,
>
> many of my modules contain following section at the end
>
>
> def main():
>      do_something()
> if __name__ == '__main__':
>      main()
>
> This allows me to run some basic example code
> or some small test in a stand alone mode.
>
>
> My new modules contain following line at the beginning:
>
> from __future__ import absolute_import
>
>
> I like this:
> - It can reduce import name conflicts
> - and second it allows 'relative' imports like
>     from .othermodule import funcname
>     from ..mod_one_level_higher import fdfsd
>
>
> However If I try to run such a script from the command line it will now
> complain with
>
> ValueError: Attempted relative import in non-package
>
> Any tricks to work around this ???
>
> The only idea, that I have is to have a script, that would take my
> modulename or path name as parameter, and try to import it and then call
> the main function of the imported module.
>
>
> Not very elegant, but probably functional.
>
> Thanks in advance for any other suggestions / ideas.
>

I hope this helps 
http://stackoverflow.com/questions/3616952/how-to-properly-use-relative-or-absolute-imports-in-python-modules

-- 
Cheers.

Mark Lawrence.




More information about the Python-list mailing list