2

我正在尝试使用 pydoc 生成 HTML 文档。该项目分为几个子文件夹,所有子文件夹都包含__init__.py文件。

我的主文件夹中的内容__init__.py如下:

import sys
sys.path.insert(1, '.')

我可以毫无问题地运行该应用程序。子文件夹中的文件可以看到主文件夹中的文件,并且所有导入的模块都运行良好。

但是,pydoc 给我带来了问题。如果我尝试在子文件夹中的文件上使用它,他们将看不到主文件夹中的文件。

此外,没有看到已安装的模块。例如,pydoc -w在我的 ftp_operations 文件(位于主文件夹中)上运行说它找不到 Paramiko,它在应用程序中运行得很好。

我见过一些类似的问题,但大多数答案都是关于添加__init__.py我已经拥有的文件。我也尝试了 pdoc3,结果相同。我究竟做错了什么?我正在使用 Python 3.7。

提前致谢!

4

1 回答 1

1

你用的是虚拟环境吗?pydoc默认情况下将调用系统 Python 可执行文件(可能无法找到您的模块),即使该命令是从虚拟环境中调用的。

如果您希望使用虚拟环境通过 pydoc 生成文档,则需要调用python -m pydoc [OPTIONS]以确保调用正确的python可执行文件。或者,您可以编辑脚本的 shebang 行pydoc以引用您的环境。

例如,pydoc脚本应该类似于:

#!/some/system/path/bin/python3.7

import pydoc
if __name__ == '__main__':
    pydoc.cli()

并将更改为:

#!/usr/bin/env python

import pydoc
if __name__ == '__main__':
    pydoc.cli()
于 2020-08-26T19:49:25.870 回答