Нужна помощь с KeyError при создании файлов epydoc для проекта

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

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

Тем не менее, я получаю странную ошибку при запуске сборки 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

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

#!/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 ответ

Решение

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

Другие вопросы по тегам