Как избежать проблем с импортом, когда документы Sphinx создаются из каталога, отличного от родительского приложенияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как избежать проблем с импортом, когда документы Sphinx создаются из каталога, отличного от родительского приложения

Сообщение Anonymous »

Я хочу автоматически создать документацию для проекта Python. Мне удалось создать простой конвейер, работающий со sphinx, но результат не очень приятен, и я был бы признателен за некоторые рекомендации о том, как сделать вывод более чистым, а входные данные более удобными в обслуживании.
Мой проект организовано следующим образом:

Код: Выделить всё

docs
|-- build
|-- index.rst
|-- conf.py
app
|-- main_app.py #entry point that intializes everything, internal imports in .py files are relative to here
views
|-- view1.py
|-- view2.py
|-- ...
controllers
|-- controller1.py
|-- ...
models
|-- model1.py
|-- ...
utils
|-- ...
plugins
|-- ...
Вопрос 1
В моем файле conf.py мне пришлось имитировать импорт, чтобы его запустить, вот так:

Код: Выделить всё

import os
import sys
sys.path.insert(0, os.path.abspath('..'))
autodoc_mock_imports = ['utils', 'models','PySide6', 'controllers', 'views', 'configs']
Я считаю, что это связано с тем, что оператор импорта в файлах .py записывается относительно местоположения main_app.py, тогда как документы генерируются из папки docs. Хотя это работает, это похоже на хак, который в какой-то момент меня укусит. Есть ли более изящный способ решить эту проблему без необходимости имитировать импорт?

Подробнее здесь: https://stackoverflow.com/questions/786 ... rent-direc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»