首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pdoc无法从其他模块导入函数

pdoc无法从其他模块导入函数
EN

Stack Overflow用户
提问于 2015-11-04 16:32:54
回答 3查看 3.1K关注 0票数 2

我正在使用python2.7,并尝试使用pdoc为我们的测试项目收集文档。

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

代码语言:javascript
复制
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"

并得到这样的答案:

代码语言:javascript
复制
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不能从我们回归中的其他模块导入函数...我们项目的结构如下所示:

代码语言:javascript
复制
-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的导入部分如下所示:

代码语言:javascript
复制
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来查找其他模块的函数?谢谢!

EN

回答 3

Stack Overflow用户

发布于 2016-09-07 18:59:58

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

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2019-11-12 22:52:15

您可以设置PYTHONPATH环境变量。这是一条路径,上面写着python,你也可以在哪里找到第三方的模块和包。

票数 1
EN

Stack Overflow用户

发布于 2020-08-27 07:25:28

pydoc和pdoc读你的代码!

如果您将从相同的目录pdoc3 --html .pydoc -w .运行它,那么如果所有模块都在相同的目录中,它应该可以工作。但如果它们不是:

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

代码语言:javascript
复制
sys.path.append("D:/Coding/project/....)

相对路径不会起作用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33517072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档