[英]pdoc can't import the function from other module
我正在使用 python 2.7 并尝试使用 pdoc 为我们的测试项目收集文档。
pdoc 位于此处:D:\\dev\\Python27\\Scripts 回归项目位于此处:C:\\views\\md_LDB_RegressionTests_v03.1_laptop\\mts\\Tests\\LDB\\Regression\\Tests 我们正在使用 proboscis 进行测试,我正在尝试创建单独的一组测试的 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在我们的regression中不能从其他模块中导入函数……我们的项目结构是这样的:
-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 在哪里寻找其他模块的功能? 谢谢你!
在 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文档中找到。
您可以设置 PYTHONPATH 环境变量。 这是一条说python在哪里可以找到第3方的模块和包的路径,也是你。
pydoc 和 pdoc 阅读你的代码!!!
如果您将从同一目录pdoc3 --html .
运行它pdoc3 --html .
或pydoc -w .
如果所有模块都在同一目录中,它应该可以工作。 但如果不是:
确保每个目录中的主模块都将 sys 完整路径附加到它(到同一目录)。
sys.path.append("D:/Coding/project/....)
相对路径不会成功!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.