相対インポートでdoctestを使用するのに問題があります。簡単な解決策は、相対的なインポートを取り除くことです。他にありますか?
2つのファイルを含むexampleというパッケージがあるとします。
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()
example / A.py
class Aardvark(object):
def talk(self):
print("I am an aardvark.")
私が今試みたら
python example/__init__.py
その後、エラーが発生します
Traceback (most recent call last):
File "example/__init__.py", line 8, in <module>
from .A import Aardvark
ValueError: Attempted relative import in non-package