此问题中的所有shell命令都将从foo
目录的父目录中运行。
这是我的软件包目录foo
的样子:
$ ls foo
__init__.py bar.py foo.py
以下是每个文件的内容:
$ cat foo/__init__.py
"""Pacakge foo."""
$ cat foo/foo.py
"""Foo module
Example:
>>> from foo import foo
>>> foo.main()
hello, world
"""
def main():
print('hello, world')
$ cat foo/bar.py
cat foo/bar.py
"""Foo module
Example:
>>> from foo import bar
>>> bar.main()
hello, world
"""
def main():
print('hello, world')
这是我面临的问题:
$ python3 -m doctest foo/bar.py
$ python3 -m doctest foo/foo.py
**********************************************************************
File "foo/foo.py", line 5, in foo
Failed example:
from foo import foo
Exception raised:
Traceback (most recent call last):
File "/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/doctest.py", line 1329, in __run
compileflags, 1), test.globs)
File "<doctest foo[0]>", line 1, in <module>
from foo import foo
ImportError: cannot import name 'foo' from 'foo' (foo/foo.py)
**********************************************************************
File "foo/foo.py", line 6, in foo
Failed example:
foo.main()
Exception raised:
Traceback (most recent call last):
File "/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/doctest.py", line 1329, in __run
compileflags, 1), test.globs)
File "<doctest foo[1]>", line 1, in <module>
foo.main()
NameError: name 'foo' is not defined
**********************************************************************
1 items had failures:
2 of 2 in foo
***Test Failed*** 2 failures.
为什么foo/foo.py
的doctest失败?