pdoc无法从其他模块导入该功能

时间:2015-11-04 08:32:54

标签: python pdoc

我正在使用python 2.7并尝试使用pdoc为我们的测试项目收集文档。

pdoc位于此处:D:\ dev \ Python27 \ Scripts 这里的回归项目:C:\ views \ md_LDB_RegressionTests_v03.1_laptop \ mts \ Tests \ LDB \ Regression \ Tests 我们正在使用长鼻进行测试,我正在尝试为单独的测试组创建html文档,在我的情况下是一个单独的python文件。 我运行这样的命令:

D:\dev\Python27\Scripts>python pdoc --html "C:\views\md_LDB_RegressionTests_v03.
1_laptop\mts\Tests\LDB\Regression\Tests\tests\check_system_management\check_capa
bilities_encoding_problems.py"

得到这样的答案:

Traceback (most recent call last):
  File "pdoc", line 458, in <module>
    module = imp.load_source('__pdoc_file_module__', fp, f)
  File "C:\views\md_LDB_RegressionTests_v03.1_laptop\mts\Tests\LDB\Regression\Te
sts\tests\check_system_management\check_capabilities_encoding_problems.py", line
 4, in <module>
    from common.builders.system_request import default_create_system, create_cap
ability
ImportError: No module named common.builders.system_request

pdoc无法从我们的回归中的其他模块导入函数... 我们项目的结构如下:

-Tests (C:\views\md_LDB_RegressionTests_v03.1_laptop\mts\Tests\LDB\Regression\Tests)
  -"common" package (with init file)
     -"builders" packege
        -system_request.py
  -"test" package
      -check_system_management package
         -check_capabilities_encoding_problems.py - this is the file i want to get documentation to

当然还有很多其他套餐,但我不确定现在描述所有结构是否有意义

check_capabilities_encoding_problems.py的导入部分如下所示:

import urllib
from hamcrest import assert_that, all_of
from proboscis import test, before_class, after_class
from common.builders.system_request import default_create_system, create_capability
from common.entity.LDBChecks import LDBChecks

我如何指向pdoc在哪里查找其他模块的功能? 谢谢!

3 个答案:

答案 0 :(得分:1)

在我的Spyder IDE中使用pdoc时,我使用以下脚本将目录添加到pdoc路径

import pdoc
libpath = r'C:\Path\To\Module'
pdoc.import_path.append(libpath)
mod = pdoc.import_module('ModuleName')
doc = pdoc.Module(mod)
string = doc.html()

pdoc.import_path是当前使用的查找模块的路径列表;默认情况下,pdoc.import_path等于sys.path。有关详细信息,请参阅pdoc文档。

答案 1 :(得分:0)

您可以设置PYTHONPATH env变量。这是一条说python的路径,也是第3方您也可以从中找到模块和软件包的地方。

答案 2 :(得分:0)

pydoc和pdoc读取您的代码!!!

如果要从同一目录pdoc3 --html .pydoc -w .运行它,则所有模块都在同一目录中应该可以工作。但是如果不是这样的话:

确保每个目录中的主模块都具有sys完整路径(附加到同一目录)。

sys.path.append("D:/Coding/project/....)

相对路径不会解决问题!