relative import broken?
Hrvoje Niksic
hniksic at xemacs.org
Wed Apr 30 21:11:53 EDT 2008
Sam <landofdreams at gmail.com> writes:
> I also have a problem with relative import; I can't for the life of me
> figure out how to use the damn thing. I think the main problem is with
> getting Python to recognize the existence of a package. I have
>
> S/
> p.py
> B/
> b.py
> W/
> pyw/
> u.py
> ws.py
>
> and I'd like to get u.py to import all the other 3 programs. I put
> empty __init__.py files in all of the above directories (is this
> necessary?), and even manually added the pathway (r'C:\Myname\S') to
> sys.path, but when I execute
>
> from S import p
>
> in u.py Python gives "ImportError: No module named S".
A silly question: is the directory that contains "S" in PYTHONPATH or
in sys.path?
> The docs for relative import make this sound much easier than it is.
It's supposed to be just as easy as it sounds. For example:
$ mkdir S
$ touch S/p.py
$ touch S/__init__.py
$ python
Python 2.5.2 (r252:60911, Apr 21 2008, 11:12:42)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from S import p
>>> p
<module 'S.p' from 'S/p.py'>
More information about the Python-list
mailing list