Python Sphinx autodoc可以';找不到模块
我是狮身人面像新手,需要帮助我找出为什么会出现以下错误:Python Sphinx autodoc可以';找不到模块,python,python-sphinx,autodoc,Python,Python Sphinx,Autodoc,我是狮身人面像新手,需要帮助我找出为什么会出现以下错误: WARNING: autodoc: failed to import module 'employe_dao' from module 'models'; the following exception was raised: No module named 'models' 我的项目结构是: |--master_project |--sub_project |--docs |--build
WARNING: autodoc: failed to import module 'employe_dao' from module 'models'; the following exception was raised:
No module named 'models'
我的项目结构是:
|--master_project
|--sub_project
|--docs
|--build
|--conf.py
|--index.rst
|--Makefile
|--models.rst
|--src.models.rst
|--src.rst
|--src
|--models
|--employee.py
...
|--__init__.py
|--data_extractor.py
|--optimiser.py
enter code here
...
这是来自index.rst
...
.. toctree::
:maxdepth: 2
:caption: Contents:
.. automodule::src
:members:
:undoc-members:
:show-inheritance:
.. automodule::models
:members:
:undoc-members:
:show-inheritance:
...
* :ref:`modindex`
我已经添加了sys.path.insert(0,os.path.abspath('./sub_project'))
并按照中的建议在conf.py
中取消注释import os,import sys
@Ryandellan建议将sys.path.insert(0,os.path.abspath('..'))
添加到config.py
修复了index.rst
我在另一个stackoverflow线程中建议将extensions=['sphinx.ext.autodoc']
添加到config.py
关于我的其他错误操作有什么建议吗?根据您的目录结构,要添加到
sys.path
的目录应该是。/src
要获得更一般的答案,请考虑如果要在Python CLI中成功导入模块,需要位于哪个目录中。该目录是您希望Sphinx在您的路径中包含的目录。立即获取此错误
警告:autodoc:无法从模块“src”导入模块“Optimizer”;引发了以下异常:没有名为“Optimizer\u engine”的模块
。知道是什么引起的吗?是不是src文件夹下的optimizer\u engine.py
?如果是这样,告诉autodoc如何查找它的正确方法是。。automodule::Optimizer\u engine
我以前有一个名为的文件,但将其重构为Optimizer.py
之后就没有了。我检查了src.rst,它不包含对optimizer\u引擎的引用
Aah哎呀,我有点误读了错误。optimizer.py
正在尝试导入optimizer\u引擎
还是什么?也试试这个,进入你的src
文件夹,在命令行中打开python
,然后做一个import optimizer
,看看它是否会抛出错误。嗯,你的第三方库是否安装在系统级,比如说安装了pip?如果是这样的话,你不需要什么特别的东西,它们应该可以工作。确保您没有忘记激活一个virtualenv(如果您有),然后再次尝试在pythonshell中执行importmysql
。如果您的库是以不同的方式安装的,那么您可能需要将它们添加到路径中。