如何在Sphinx的conf.py文件中使用python函数

时间:2013-08-21 11:30:07

标签: python import python-sphinx

我写了一个名为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

有什么想法吗?

由于

2 个答案:

答案 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接受你的模块确实是一个扩展模块。

完成!