2017-01-29 7 views
1

Sphinx, генератор документации Python, похоже, не понимает мои модули/пакеты. На make clean && make html он выдает ImportError: No module named 'statstuff', когда этот код запущен: from statstuff import statistics as stats.Sphinx не может найти модуль, но Python может

Я также попытался ссылаться на модуль как from . import statistics as stats, так как модули находятся в одном пакете, но выходы Sphinx SystemError: Parent module '' not loaded, cannot perform relative import.

Кроме того, config.py, по-видимому, правильно настроен как sys.path.insert(0, os.path.abspath('../statstuff/')), учитывая, что папка документации совместно с родительской папкой имеет папку statstuff.

Во всяком случае, здесь это хранилище с файлами: https://github.com/lucasmauro/statstuff

Проблема возникает на statstuff/regression.py, линии 2 и 3: https://github.com/lucasmauro/statstuff/blob/master/statstuff/regression.py

код работает нормально с интерпретаторов Python, но Sphinx не удается найти как код (или конфигурация).

Кто-нибудь знает, как это решить?

Спасибо вам большое!

ответ

2

Поскольку ваши модули в package называется statstuff, я предлагаю следующее:

  1. Добавьте путь к каталогу вышеstatstuff к sys.path в conf.py:

    sys.path.insert(0, os.path.abspath('..')) 
    
  2. Редактировать директивы automodule. Изменение

    .. automodule:: probability 
    

    в

    .. automodule:: statstuff.probability 
    

    и так далее.

+0

mzjn, большое спасибо. Это сработало, но вроде как. На странице документации все зашло в «statstuff». У тебя есть другие идеи? –

+0

* «Все включено в« statstuff »на странице документации *. Это проблема? Вы поместили свои модули в пакет под названием «statstuff», и это должно быть отражено в документации, не так ли? – mzjn

+0

Я не уверен, что это то, что вы хотите, но вы можете попробовать установить конфигурационную переменную [add_module_names] (http://www.sphinx-doc.org/en/stable/config.html#confval-add_module_names) на «Ложь». Это приведет к удалению 'statstuff. 'от всех имен функций. – mzjn