0

我编写了一个名为 myFunction 的小 Python 函数,存储在我想在 conf.py 文件中调用的 function.py 中。从测试 python 文件调用该函数时工作正常,因此我似乎在此文件中专门导入模块时遇到问题。

设置是这样的:

DocumentSourceFolder/sourcefile.txt

文档源文件夹/conf.py

DocumentSourceFolder/function.py

在 conf.py 中,我添加了以下内容:

import function

variable = function.myFunction()

(其中变量是 conf.py 文件中已经存在的东西)。

但是,在此文档上运行 sphinx 时,我收到错误:

ImportError: No module named function

有任何想法吗?

谢谢

4

2 回答 2

1

尝试:

from function import function

.

和:

import function 

Python 尝试导入一个模块;您的文件显然不是。请参阅http://docs.python.org/2/tutorial/modules.html#more-on-modules中的部分

于 2013-08-21T11:42:26.247 回答
0

事实证明,在 conf.py 文件中导入 python 模块时,Sphinx 有点挑剔。为避免错误,您需要执行 2 个步骤:

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

sphinx 需要此“setup() 函数”才能接受您的模块确实是扩展模块。

完毕!

于 2013-08-21T13:40:30.597 回答