ich habe diese Verzeichnisstruktur:
Code: Alles auswählen
src
|-- __init__.py
|-- core.py
|-- output
|-- __init__.py
|-- base.py
|-- svg.py
Code: Alles auswählen
from base import DrawBase
Code: Alles auswählen
from output import *
Wo ist das Problem?
EDIT: Wenn svg.py direkt ausgeführt wird (und nicht in core.py importiert), dann funktioniert es. Liegt es vielleicht daran, dass ich in core.py importlib.import_module() benutze? Ich dachte immer, diese beiden Zeilen bewirkten das Gleiche, aber offensichtlich ist es nicht so:
Code: Alles auswählen
import mod as name
name = importlib.import_module('mod')
EDIT²:
Code: Alles auswählen
from .base import DrawBase
Code: Alles auswählen
import .base # SyntaxError
Code: Alles auswählen
# __init.py__
# ohne Docstrings, daher weichen Zeilenangaben in den Fehlermeldungen ab
__all__ = ['core', 'output']
from core import Graphic
# bpython3
# src ist das Programmverzeichnis
>>> import src
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "src/__init__.py", line 14, in <module>
from core import Graphic
ImportError: No module named core
>>>