Нужна помощь с KeyError при создании файлов epydoc для проекта - PullRequest
1 голос
/ 29 октября 2010

У меня есть проект по пилонам с обширным набором функциональных тестов, которые я хочу, чтобы время от времени мои контрольные программы могли читать, поэтому я использую epydoc для создания hdml pydocs на модулях функционального тестирования.

Кажется, работает нормально.Он генерирует документы, и я могу перемещаться по ним без каких-либо видимых проблем.

Тем не менее, я получаю странную ошибку при запуске сборки epydoc, и я не уверен, как это исправить:

<code>+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| In project.tests.functional.resource:
| Import failed (but source code parsing was successful).
|     Error: KeyError: '__file__' (line 28)
|<br>
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 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)
|<br>
+------------------------------------------------------------------------------------------

Всего существует 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

А вот копия сценария оболочки, используемая для его выполнения:

#!/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 голосов
/ 31 мая 2011

В конечном итоге я просто включил --parse-only в команду epydoc, чтобы заставить ее ничего не импортировать (таким образом, обойдя проблему несмещаемого импорта, но на самом деле не ответив, почему это происходило ввсе).Не идеальное решение, но оно удовлетворяет требованиям ...

...