2013-07-28 33 views
15

我正在尝试为真正的项目创建测试Python项目的文档。 我的系统:Win7 64位,python 2.7.5 64位。使用autodoc时,Sphinx找不到Python包

我的项目名称是testDoc。它包括python pakage,名为t,其中包括2个模块t1t2__init__.py

__init__.py包含:

import t1 
import t2 

t1.py包含:

''' 
Created on 27 2013 

@author: 
''' 

class MyClass(object): 
    ''' 
    Hi 
    ''' 


    def __init__(self,selfparams): 
     ''' 
     Constructor 
     ''' 
     pass 

testDoc创建我在命令行中运行文档:

sphinx-apidoc -A "me" -F -o docs . 

狮身人面像创造了许多文件,并根据斯芬克斯d是没问题的OCS。 然后,conf.py被修改

sys.path.insert(0, os.path.abspath(absolute path to testDoc)) 

我进入文档文件夹并键入

make html 

,并得到以下错误的输出:

Making output directory... 
Running Sphinx v1.1.3 
loading pickled environment... not yet created 
building [html]: targets for 2 source files that are out of date 
updating environment: 2 added, 0 changed, 0 removed 
reading sources... [ 50%] index 
reading sources... [100%] t 
Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\sphinx\ext\autodoc.py", line 321, in impor 
t_object 
    __import__(self.modname) 
ImportError: No module named t.__init__ 
Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\sphinx\ext\autodoc.py", line 321, in impor 
t_object 
    __import__(self.modname) 
ImportError: No module named t.t1 
Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\sphinx\ext\autodoc.py", line 321, in impor 
t_object 
    __import__(self.modname) 
ImportError: No module named t.t2 

...testDoc\t\docs\t.rst:7: WARNING: a 
autodoc can't import/find module 't.__init__', it reported error: "No module name 
d t.__init__", please check your spelling and sys.path 
...testDoc\t\docs\t.rst:15: WARNING: 
autodoc can't import/find module 't.t1', it reported error: "No module named t.t 
1", please check your spelling and sys.path 
t...testDoc\t\docs\t.rst:23: WARNING: 
autodoc can't import/find module 't.t2', it reported error: "No module named t.t 
2", please check your spelling and sys.path 
looking for now-outdated files... none found 
pickling environment... done 
checking consistency... done 
preparing documents... done 
writing output... [ 50%] index 
writing output... [100%] t 

writing additional files... (0 module code pages) genindex search 
copying static files... done 
dumping search index... done 
dumping object inventory... done 
build succeeded, 3 warnings. 

Build finished. The HTML pages are in _build/html. 

有什么不对? 谢谢。

+0

我的猜测是,有一些错误'来testDoc'绝对路径。你不能使用'os.path.abspath(“..”)'? – mzjn

+0

@mzjn谢谢。但是,同样的问题发生。 – user1264304

回答

19

我不知道“testDoc的绝对路径”是什么,但是从Sphinx输出我可以看到testDoc目录结构是testDoc/t/docs。 012.目录是conf.py的地方。

对于模块搜索路径正确设置,则需要从conf.py了去两个层次:

sys.path.insert(0, os.path.abspath("../..")) 
+0

@ mzjn谢谢。有效。绝对路径没有。 – user1264304

+0

我这样做了,添加了模块的路径,但仍然编译并且没有模块显示!有什么想法吗 ? –

+0

@PedroBraz:很难提出一个很好的建议。每个项目都不一样,我对你的任何事情都不了解。 – mzjn