Python:Sphinx导入错误:没有模块

时间:2017-06-02 18:11:26

标签: python python-sphinx importerror

我的源代码在目录中 - / usr / share / jupiter_api / jupiter_api / services / v1

Sphinx文件 -

  1. /usr/share/jupiter-doc/index.rst - >叫jupiter_api.rst
  2. /usr/share/jupiter-doc/api/jupiter_api.rst
  3. jupiter_api.rst文件生成自动文档。

    .. automodule:: accounts
       :members:
    

    /usr/share/jupiter-doc/api/conf.py

    sys.path.append(os.path.abspath('/jupiter_api/jupiter_api/servicesi/v1/'))
    

    当我运行make clean并生成html时,我收到以下错误消息 -

    Removing everything under '_build'...
    
    [ /usr/share/jupiter-doc/api ]
    root@d1piap2077 > make html
    Running Sphinx v1.6.2
    making output directory...
    /usr/lib/python2.7/site-packages/sphinx/util/requests.py:72: UserWarning: 
    Some links may return broken results due to being unable to check the Server 
    Name Indication (SNI) in the returned SSL cert against the hostname in the 
    url requested. Recommended to install requests-2.4.1+.
    'Some links may return broken results due to being unable to '
    loading pickled environment... not yet created
    building [mo]: targets for 0 po files that are out of date
    building [html]: targets for 1 source files that are out of date
    updating environment: 1 added, 0 changed, 0 removed
    reading sources... [100%] jupiter_api
    WARNING: /usr/share/jupiter-doc/api/jupiter_api.rst:15: (WARNING/2) autodoc: 
    failed to import module u'accounts'; the following exception was raised:
    Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 657, in 
    import_object
        __import__(self.modname)
    ImportError: No module named accounts
    looking for now-outdated files... none found
    pickling environment... done
    checking consistency... done
    preparing documents... done
    writing output... [100%] jupiter_api
    generating indices... genindex
    writing additional pages... search
    copying static files... done
    copying extra files... done
    dumping search index in English (code: en) ... done
    dumping object inventory... done
    build succeeded, 1 warning.
    
    Build finished. The HTML pages are in _build/html.
    

1 个答案:

答案 0 :(得分:0)

您可能需要

sys.path.insert(0, os.path.abspath('../jupiter_api/jupiter_api/services/v1/'))

您可以在conf.py中使用print(sys.path)进行调试。

等等你的conf.py在jupiter_doc/api/下,但index.rst高一级。但是你将makefile放在conf.py的级别,那么你还需要一个'../'。但我猜你的conf.py中的master_docjupiter_api?为什么index.rstconf.py在您的文档中处于同一顶级?