I'm getting an error when importing my code_parsing
package with Python 3.2.
Directory code_parsing
is within PYTHONPATH
and contains the following files (some others too, but irrelvant here)
code_parsing/__init__.py
code_parsing/ada.py
__init__.py
contains:
from ada import *
When importing my module I get this error:
>>> import code_parsing
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "K:\CODE\pythonlib\code_parsing\__init__.py", line 1, in <module>
from ada import *
ImportError: No module named ada
With python 2.7 on the same machine with the same environment it works fine.
Some precisions:
directory/__init__.py
structure work fine.ada.py
is a pure python file, no special compiled/cython/.pyd stuff.Any ideas?
Python 3 uses absolute imports. Any unqualified name is imported as a top-level module.
You don't have a top-level ada
module. You have a code_parsing.ada
module instead so the following will work:
from code_parsing.ada import *
or use an explicit 'local package' reference:
from .ada import *
You can force the same behaviour in Python 2 with:
from __future__ import absolute_import
See PEP 328 – Imports: Multi-Line and Absolute/Relative for details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With