Ich habe Probleme bei der Verwendung von doctest mit relativen Importen. Die einfache Lösung besteht darin, die relativen Importe einfach loszuwerden. Gibt es noch andere?
Angenommen, ich habe ein Paket namens example, das 2 Dateien enthält:
example/__init__.py
"""
This package is entirely useless.
>>> arnold = Aardvark()
>>> arnold.talk()
I am an aardvark.
"""
from .A import Aardvark
if __name__ == "__main__":
import doctest
doctest.testmod()
Beispiel/A.py
class Aardvark(object):
def talk(self):
print("I am an aardvark.")
Wenn ich nun versuche
python example/__init__.py
dann erhalte ich die Fehlermeldung
Traceback (most recent call last):
File "example/__init__.py", line 8, in <module>
from .A import Aardvark
ValueError: Attempted relative import in non-package