代码之家  ›  专栏  ›  技术社区  ›  Greg Gauthier

为项目生成epydoc文件时需要KeyError帮助

  •  1
  • Greg Gauthier  · 技术社区  · 15 年前


    它似乎工作得很好。它生成文档,我可以在它们之间导航而不会出现任何明显的问题。

    但是,我在运行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个模块正在执行此操作。一开始,我想可能是模块的头部或者包的in it中没有docstring,但是添加它们并没有解决这个问题。

    [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 回复  |  直到 15 年前
        1
  •  0
  •   Greg Gauthier    15 年前

    最后,我所做的只是在epydoc命令上包含--parse only,以强制它不导入任何内容(从而解决了不可破解的导入问题,但并没有真正回答它发生的原因)。不是一个完美的解决方案,但它满足了要求。。。

    推荐文章