使用python doctest时出错

使用python doctest时出错,python,doctest,Python,Doctest,我尝试使用来自示例的doctest 但是当我跑的时候 python example.py -v 我明白了 Traceback (most recent call last): File "example.py", line 61, in <module> doctest.testmod() AttributeError: 'module' object has no attribute 'testmod' 回溯(最近一次呼叫最后一次): 文件“example.py”,

我尝试使用来自示例的doctest

但是当我跑的时候

python example.py -v
我明白了

Traceback (most recent call last):
  File "example.py", line 61, in <module>
    doctest.testmod()
AttributeError: 'module' object has no attribute 'testmod'
回溯(最近一次呼叫最后一次):
文件“example.py”,第61行,在
doctest.testmod()
AttributeError:“模块”对象没有属性“testmod”
但我可以在python交互式shell中导入doctest,并启用doctest.testmod()。我在谷歌搜索,没有找到解决方案

在Max OSX上,Python版本是2.5.1

print doctest, dir(doctest)
在第61行之前。这将告诉您doctest模块的位置以及它具有哪些属性。您可以这样做以确保doctest模块没有问题。

尝试插入

print doctest, dir(doctest)

在第61行之前。这将告诉您doctest模块的位置以及它具有哪些属性。您可以这样做,以确保您的doctest模块没有问题。

显然,此时手头的
doctest
模块对象不是从标准库导入doctest时得到的正常、未经修改的对象。在第61行异常之前打印
doctest.\uu\u文件
(以及
sys.stdout.flush()
ing,以确保查看结果;-)将让您知道散乱的
doctest
模块来自何处


如果您向我们展示
example.py
以及该输出,我们可能会指出您可能做错了什么,如果您还没有意识到这一点的话。

显然,您手边的
doctest
模块对象不是正常的,从标准库的
import doctest
中获得的纯文档。在第61行异常之前打印
doctest.\uu\u文件
(以及
sys.stdout.flush()
ing,以确保查看结果;-)将让您知道散乱的
doctest
模块来自何处


如果您向我们展示
example.py
以及该输出,我们可能会指出您可能做错了什么,如果您还不清楚的话。

非常感谢!这是因为我以前将脚本命名为doctest.py,但它不起作用,所以我改为example.py。但是doctest.pyc仍然存在,然后导入doctest.pyc。如果需要并且可能的话,Python将重新编译pyc,但是,是的,如果它有pyc并且没有它的源代码,那么它将只使用现有的pyc文件。非常感谢!这是因为我以前将脚本命名为doctest.py,但它不起作用,所以我改为example.py。但是doctest.pyc仍然存在,然后导入doctest.pyc。如果需要并且可能的话,Python将重新编译pyc,但是,是的,如果它有pyc并且没有它的源代码,那么它将只使用现有的pyc文件。