24 Stimmen

Doctest und relative Importe

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X