1

一旦sphinx-apidoc运行该命令C:\path\to\doc\make html就会产生一个错误开始:

找不到“sphinx-build”命令 [snip]

但是该命令确实存在并且设置了相关的环境变量。

更多详情:

1 - 试图运行sphinx_apidoc

'C:\path\to\jython\bin\sphinx-apidoc' 未被识别为内部或外部命令

2 - 使用 Jython 调用作品:jython C:\path\to\jython\bin\sphinx-apidoc使用明智的选项生成文档*.rst文件conf.py、等文件。

3 -make html然后产生以下错误:

找不到“sphinx-build”命令 [snip]

然后它建议设置SPHINXBUILD环境变量,甚至PATH. 我已经设置了这两个环境变量,通过调用echo %PATH%echo %SPHINXBUILD%.

这就是我卡住的地方。Sphinx 使用的文件(sphinx-apidocsphinx-build本例中)位于C:\path\to\jython\bin\目录中,似乎没有任何文件后缀。当直接从 Jython 调用时,它们按预期工作(参见上面的第 2 点),但是当作为另一个进程的一部分(例如make html)调用时,它们不会被识别并且执行失败(参见上面的第 1 和第 3 点)。

有谁知道这个问题的原因、原因和最重要的是“如何解决”?

我的设置过程是在未联网的 Windows 7 计算机上进行的。Jython (2.5.2) 是使用 Jython 安装程序安装的。然后通过在本地解压并jython setup.py install在其解压目录中运行来安装以下每个包(setuptools 除外):

  1. setuptools:通过jython ez_setup.py在同一目录中调用 setuptools-1.4.2.tar.gz (因此没有尝试下载它)
  2. Jinja2 (2.5)
  3. 文档工具 (0.11)
  4. Pygments (1.6)
  5. 狮身人面像 (1.2.1)
  6. numpydoc (0.4) - 只提到它是因为它也安装在机器上。
4

1 回答 1

1

我已经设法让它工作了。问题在于手动安装和使用 Jython 意味着某些预期的环境变量没有到位。此外,使用 Windows 7(我相信一般是 MS Windows)意味着没有扩展的 Python 脚本如果不通过 Jython 显式调用它们就无法运行(Windows 不检查 shebangs)。最后,没有设置文件关联(在安装 CPython 时会自动发生,但在 Jython 中没有发生)。

对于其他有类似问题的人,以下设置对我有用:

地点:

  • Java 运行时:C:\Java\jre7
  • Jython: C:\Jython\jython2.5.2

用户环境变量:

  • JRE_HOME: C:\Java\jre7
  • JAVA_HOME: %JRE_HOME%
  • 类路径:。
  • JYTHON_HOME: C:\Jython\jython2.5.2
  • 路径:%JRE_HOME%\bin;%JYTHON_HOME%\bin

文件关联:

  • 在命令提示符下键入assoc .py=Python.File以将“Python.File”与“.py”扩展名相关联。
  • 在命令提示符处键入ftype Python.File=C:\Jython\jython2.5.2\jython.bat "%1" %*以将 Jython 命令与“Python.File”类型的文件相关联。
  • 将 '.py' ( ;.PY) 附加到 PATHEXT 系统环境变量。这将使执行 Python 文件成为可能,而无需提供它们的 '.py' 扩展名。(注意,这无法运行没有“.py”扩展名的 Python 文件。)

文件扩展名:

  • 重命名四个 Sphinx 命令以包含“.py”扩展名。这对于 vanilla Windows 7 来说是非常困难的,因为它尽一切可能使用户远离文件扩展名等“低级”细节,但是命令提示符下的 rename 命令可以完成这项工作:ren sphinx* sphinx*.py在 Jython bin 目录中键入。

现在应该可以sphinx-apidoc从任何地方拨打电话或类似电话。完成后make html,从文档目录调用命令时,应按预期工作。

于 2014-02-17T08:44:14.350 回答