Sphinx autodoc in Flask ImportError: no module named
Sphinx autodoc in Flask ImportError: no module named
我正在尝试为我的 Flask 项目设置 Sphinx autodoc。
这是我的项目的架构:
Folder
|--docs
| |--build
| |--source
| conf.py
| index.rst
| mod_ololo.rst
| ....
|--flask_app
| |--celery_worker.py
| |--config.py
| |--run.py
| |--app
| |--__init__.py
| |--temp.py
| |--mod_search
| ....
| |--mod_files
| |--__init__.py
| ....
等等。
在conf.py我已经设置:
sys.path.insert(0, os.path.abspath("../.."))
我正在尝试将 temp.py 的内容添加到我的文档中。
这是mod_ololo.rst的内容:
*******************************************
OLOLO module
*******************************************
Ololololo
======
.. automodule:: flask_app.app.temp
:members:
当我 运行 make html
用于单独的脚本时 - Sphinx autodoc 有效,但在我的 flask 项目中它没有,并显示以下错误:
ImportError: No module named 'config'
配置是config.py
纯属猜测,但您的 sphinx 构建器未找到的 config
模块可能是 flask_app
文件夹中的 config.py
模块。您的 flask_app/app/temp.py
文件中某处可能有一个 import config
语句,因此当 sphinx 尝试 运行 其上的 automodule
过程时,它会在该导入上失败。
从您的目录结构来看,您的 flask_app
文件夹似乎不是 python 包,因此您可能必须将该文件夹而不是(或除了)其父文件夹添加到path
在您的 conf.py
文件中:
sys.path.insert(0, os.path.abspath('../../flask_app'))
此外,您可能必须更改 mod_ololo.rst
中的自动模块声明,不要将 flask_app
作为包引用:
.. automodule:: app.temp
如果您实际上 打算将 flask_app
作为一个包使用,那么您需要在该文件夹中有一个 __init__.py
文件,并且在其中导入语句您的项目应该绝对来自顶级 flask_app
包,即:
from flask_app import config
而不是
import config
我正在尝试为我的 Flask 项目设置 Sphinx autodoc。 这是我的项目的架构:
Folder
|--docs
| |--build
| |--source
| conf.py
| index.rst
| mod_ololo.rst
| ....
|--flask_app
| |--celery_worker.py
| |--config.py
| |--run.py
| |--app
| |--__init__.py
| |--temp.py
| |--mod_search
| ....
| |--mod_files
| |--__init__.py
| ....
等等。
在conf.py我已经设置:
sys.path.insert(0, os.path.abspath("../.."))
我正在尝试将 temp.py 的内容添加到我的文档中。 这是mod_ololo.rst的内容:
*******************************************
OLOLO module
*******************************************
Ololololo
======
.. automodule:: flask_app.app.temp
:members:
当我 运行 make html
用于单独的脚本时 - Sphinx autodoc 有效,但在我的 flask 项目中它没有,并显示以下错误:
ImportError: No module named 'config'
配置是config.py
纯属猜测,但您的 sphinx 构建器未找到的 config
模块可能是 flask_app
文件夹中的 config.py
模块。您的 flask_app/app/temp.py
文件中某处可能有一个 import config
语句,因此当 sphinx 尝试 运行 其上的 automodule
过程时,它会在该导入上失败。
从您的目录结构来看,您的 flask_app
文件夹似乎不是 python 包,因此您可能必须将该文件夹而不是(或除了)其父文件夹添加到path
在您的 conf.py
文件中:
sys.path.insert(0, os.path.abspath('../../flask_app'))
此外,您可能必须更改 mod_ololo.rst
中的自动模块声明,不要将 flask_app
作为包引用:
.. automodule:: app.temp
如果您实际上 打算将 flask_app
作为一个包使用,那么您需要在该文件夹中有一个 __init__.py
文件,并且在其中导入语句您的项目应该绝对来自顶级 flask_app
包,即:
from flask_app import config
而不是
import config