构建项目epydoc文件时遇到KeyError问题求助

1 投票
1 回答
883 浏览
提问于 2025-04-16 06:18

我有一个使用pylons的项目,里面有很多功能测试。我希望我的手动测试人员能不时查看这些测试,所以我用epydoc来生成功能测试模块的HTML文档。

看起来一切正常。它能生成文档,我也可以顺利浏览这些文档,没有明显的问题。

不过,当我运行epydoc构建时,出现了一个奇怪的错误,我不知道该怎么解决:

+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| In project.tests.functional.resource:
| Import failed (but source code parsing was successful).
|     Error: KeyError: '__file__' (line 28)
|
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | In /Eclipse/product/project/server/src/project/tests/functional/resource/ftest_module1.py: | Import failed (but source code parsing was successful). | Error: KeyError: '__file__' (line 28) |
+------------------------------------------------------------------------------------------

总共有2个包和8个模块出现了这个问题。我起初以为可能是模块头部或者包的__init__里缺少文档字符串,但加上后也没有解决这个问题。

这是专门为功能测试写的epydoc配置文件的副本:

[epydoc]
modules: project.tests.functional.resource,project.tests.functional.views
output: html
sourcecode: yes
#graph: none
target: ../pydoc/ftests
name: PROJECT
# exclude: test
private: no
imports: no
verbosity: 0
include-log: yes

这是用来执行它的shell脚本的副本:

#!/usr/bin/env bash
basedir=${0%/*}
cd "$basedir/../src"

etc="../etc"
pydoc="../pydoc"
pydoc_ftests="../pydoc/ftests"

mkdir -p $pydoc
mkdir -p $pydoc_ftests

epydoc -v --config $etc/epydoc.config
epydoc -v --config $etc/epydoc.ftests.config

有什么建议吗?

1 个回答

0

最后我做的就是在epydoc命令中加上--parse-only这个选项,这样可以强制它不去导入任何东西(这样就绕过了无法找到导入的问题,但并没有真正解决为什么会出现这个问题)。这不是一个完美的解决办法,但满足了我的需求...

撰写回答