簡體   English   中英

pdoc 無法從其他模塊導入該函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM