2016-11-03 4 views
0

Я документирую проект моей пирамиды локально с помощью сфинкса. Локально autodoc отлично работает, и документация выглядит так, как я этого хочу.Изменение sys.path для чтения документов

Но если я использую читать документы, которые я получаю следующее сообщение об ошибке для каждого использования функции AutoDoc:

/home/docs/checkouts/readthedocs.org/user_builds/buchungssystem/checkouts/latest/docs/source/02database/02models.rst:8: WARNING: autodoc: failed to import class u'Person' from module u'buchungssystem.models.person'; the following exception was raised: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/buchungssystem/envs/latest/local/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 385, in import_object __import__(self.modname) ImportError: No module named buchungssystem.models.person

Мой проект структурирован так:

project 
->code 
    ->models 
    ->scripts 
    ->... 
    ->__init__.py 
    ->... 
->docs 
    ->conf.py 
    ->documentation 
->setup.py 

Я думаю, что мой sys.path настроен неправильно. Осле много я вернулся на sys.path.insert(0, os.path.abspath('.'))

ответ

1

в вашем conf.py попробовать этот

sys.path.insert(0, os.path.join(os.path.dirname((os.path.abspath('.')), 'code', 'models') 

, поскольку он требует путь к Person класса и этот класс является один шаг в иерархии, и вы можете вытащить путь этого класса.

 Смежные вопросы

  • Нет связанных вопросов^_^