我写了一个名为myFunction的小python函数,存储在function.py中,我想在conf.py文件中调用它。从测试python文件调用时,该函数工作正常,因此我似乎特意在此文件中导入模块时出现问题。
设置如下:
DocumentSourceFolder / sourcefile.txt
DocumentSourceFolder / conf.py
DocumentSourceFolder / function.py
在conf.py中,我添加了以下内容:
import function
variable = function.myFunction()
(其中变量是conf.py文件中已存在的内容)。
但是,在本文档上运行sphinx时,收到错误:
ImportError: No module named function
有什么想法吗?
由于
答案 0 :(得分:1)
尝试:
from function import function
。
使用:
import function
Python尝试导入模块;你的文件显然不是。 请参阅http://docs.python.org/2/tutorial/modules.html#more-on-modules
中的部分答案 1 :(得分:0)
事实证明,在conf.py文件中导入python模块时,Sphinx有点挑剔。为避免错误,您需要执行两个步骤:
1) 添加到conf.py文件
import sys, os
sys.path.append(os.path.relpath('relative/path/to/folder/containing/module'))
这意味着sphinx现在在这里寻找扩展模块。然后,您必须将模块名称添加到extensions = [...]
列表。
2) 添加到您的模块以下内容:
def setup(app):
return
这个'setup()函数'需要sphinx接受你的模块确实是一个扩展模块。
完成!