- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我将代码加载到 epydoc
并仅加载顶部模块时,它会失败:
Error: TypeError: 'NoneType' object is not callable (line 10)
它所引用的 NoneType
是我尝试在第 9 行加载的子模块。如何让 epydoc 解释为什么它无法在第 9 行加载模块只是埋头苦干却犯了错误?
根据诺斯科的要求。这是类似的示例,其中没有给出堆栈跟踪:
# foo.py
import bar
bar.baz()
# bar.py
def baz():
print 'baz'
import os
os.environ['DOES_NOT_EXIST']
运行方式:
python2.6 epydoc --html foo.py
产生不太有用的内容:
+-------------------------------------- | In /home/ross/foo.py: | Import failed (but source code parsing was successful). | Error: KeyError: 'DOES_NOT_EXIST' (line 1)我希望 epydoc 告诉我失败发生在
bar.py
的第 6 行。我不希望它提示
foo.py
导入
bar.py
。我无法在一个小示例中重现我的
特定问题,但我的基本要求是,当 epydoc 失败时,我希望它打印堆栈跟踪以指出问题。无论是加载子模块还是调用字典中找不到key。
注意:这个问题的根源是我试图记录的代码是 SCons 的输入,它具有不同的环境设置问题。这就是为什么当我在 epydoc
中运行时它不起作用,但在使用 scons -f SConstruct.py
运行时脚本仍然有效。我还尝试使用 sphinx 生成文档。当我使用 sphinx 运行时,它实际上显示了堆栈跟踪。也许我会选择sphinx
...
最佳答案
所以,如果我理解正确的话,您正在运行 epydoc 的模块会导入一个有错误的模块(不是您想要为其生成文档的模块)?
如果您需要完成的只是查看文件中出现错误的行以便进行调试,您也可以传入此文件,并且将列出发生错误的行号 该模块。
所以,运行:
epydoc --check foo.py bar.py
将输出:
+------------------------------------------------------------------------------------------------------------
| In /home/mark/Desktop/foo.py:
| Import failed (but source code parsing was successful).
| Error: KeyError: 'DOES_NOT_EXIST' (line 2)
|
+------------------------------------------------------------------------------------------------------------
| In /home/mark/Desktop/bar.py:
| Import failed (but source code parsing was successful).
| Error: KeyError: 'DOES_NOT_EXIST' (line 7)
|
由于还分析了 Bar.py,因此列出了该文件中发生错误的行号。
现在,如果您正在寻找更强大的解决方案,因为这是您需要处理的常见问题,那么您将不得不开始破解epydoc内部结构。我自己也这样做过,所以我建议你尽可能避免掉进这个兔子洞。如果可以选择切换到 Sphinx,我会推荐这条路线。
关于python - 当 epydoc 加载我的代码时,如何从 epydoc 获取堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2121268/
出于好奇 - 我知道有 LAMP - Linux、Apache、MySQL 和 PHP。但是还有哪些其他 Web 堆栈替代方案的缩写呢?像 LAMR - Linux、Apache、MySQL Ruby
我有以下代码。 var stackMapIn = []; var stackMapOut = []; var stackBack = []; stackMapOut.push("m1"); $scop
我遇到了导致我的堆栈无法恢复的情况,我别无选择,只能将其删除。使用完全相同的模板,我继续创建了另一个同名的堆栈。 The following resource(s) failed to create:
这是我第一次查看 Node 堆栈,自从我学习使用 Ruby on Rails 进行 Web 开发以来,我对一些基本的东西有点困惑。我了解 Rails 目录是什么样的。 demo/ ..../app .
本文实例讲述了C语言使用深度优先搜索算法解决迷宫问题。分享给大家供大家参考,具体如下: 深度优先搜索 伪代码 (Pseudocode)如下: ?
我正在按照指南 here ,它告诉我: The stack setup will download the compiler if necessary in an isolatedlocation (
同时 trying to debug a different question ,我安装了一个似乎与我安装的其他一些软件包冲突的软件包。 我跑了 $ stack install regex-pcre-
我花了几个小时创建了一个方法,该方法将从堆栈 s1 中获取 null 元素,并将它们放入 s2 中。然后该类应该打印堆栈。方法如下 import net.datastructures.ArraySta
我有一个类Floor,它有一个Stack block ,但我不知道如何初始化它。我曾尝试过这样的: public class Floor { private Stack stack;
我知道这个问题已经问过很多次了,但搜索一个小时后我仍然遇到问题。 我想使用一个 lifo 堆栈,它可以存储最大数量的元素。达到最大数量后,首先删除该元素并将其替换为新元素,这样在第一次弹出时我可以获取
我需要编写一个方法,压缩以执行以下操作; 目标compress方法是从栈s1中移除所有null元素。剩余(非空)元素应按其初始顺序保留在 s1 上。辅助堆栈 s2 应用作s1 中元素的临时存储。在该方
我正在尝试验证以下代码发生的顺序。 function square(n) { return n * n; } setTimeout(function(){ console.log("H
我需要一个字符数组,其中包含基于特定文件夹中文件数量的动态数量的字符数组。我能够通过初始化 char (*FullPathNames)[MAX_FILENAME_AND_PATHNAME_LENGTH
我正在编写一些日志逻辑并想要进行一些缩进。了解是否存在任何函数调用或某个函数是否已完成的最简单方法是查看堆栈/帧的当前地址。让我们假设堆栈颠倒增长。然后,如果 log() 调用中的堆栈地址小于前一次调
所以内存分段在x86-64中被放弃了,但是当我们使用汇编时,我们可以在代码中指定.code和.data段/段,并且还有堆栈指针寄存器。 还有堆栈段、数据段和代码段寄存器。 代码/数据/堆栈的划分是如何
void main() { int x = 5; // stack-allocated Console.WriteLine(x); } 我知道 x 是堆栈分配的。但是关于 x 的堆栈中
这是我关于 SO 的第一个问题。这可能是一个愚蠢的问题,但到目前为止我还没弄明白。 考虑下面的程序 Reader.java: public class Reader { public
java中有没有一种快速的方法来获取嵌套/递归级别? 我正在编写一个函数来创建组及其成员的列表。成员也可以是团体。我们最终可能会得到一组循环的组/成员。 我想在某个任意级别停止。 我知道我可以将变量保
考虑以下代码: struct A{...}; A a[100]; A* pa = new A[100]; delete[] pa; a/pa 元素的销毁顺序是由标准定义的还是实现定义的(对于第二种情况
我在下面有一些代码。此代码是一个基本的压入/弹出堆栈类,我将其创建为模板以允许某人压入/弹出堆栈。我有一个家庭作业,我现在要做的是创建一个具有多个值的堆栈。 所以我希望能够创建一个基本上可以发送三个整
我是一名优秀的程序员,十分优秀!