【问题标题】:Making Sphinx documentation inside of a virtual environment with cron使用 cron 在虚拟环境中制作 Sphinx 文档
【发布时间】:2016-07-01 12:47:00
【问题描述】:

我有一个应用程序开发服务器,它每晚都会使用我们使用crontab 运行的大量 shell 脚本自动更新。该脚本在文件顶部指定#!/bin/sh,我无法更改它。该脚本的基本目的是遍历机器并在我们在脚本中列出的每个目录中下载最新的代码。在更新完所有的存储库之后,我们执行一些脚本,通过直接调用 virtualenv 的 python 来使用适当的虚拟环境(Django manage.py 命令)更新相关数据库。

我遇到的问题是,我们在其中一个虚拟环境中安装了所有必要的 Sphinx 插件,以允许我们从脚本末尾的代码构建文档,但我似乎无法弄清楚如何允许 make 命令在 virtualenv 内部运行,以便它可以访问正确的包和库。我需要一种在虚拟环境中运行 make 命令的方法,如果需要,之后可以停用该环境,以便脚本的其余部分可以运行。

我当前的脚本如下所示,并在后 3 行出现错误,因为 sh 没有工作或停用,并且因为 make 找不到 sphinx-build。

cd ${_proj_root}/dev/docs
workon dev
make clean && make html
deactivate

【问题讨论】:

    标签: shell cron python-sphinx


    【解决方案1】:

    我能够找到这个问题的答案here。当您尝试从根目录构建 sphinx 文档时显示的错误消息如下,并导致那里提供的答案:

    Makefile:12: *** 找不到“sphinx-build”命令。确保 你已经安装了 Sphinx,然后设置 SPHINXBUILD 环境 变量指向“sphinx-build”可执行文件的完整路径。 或者,您可以将带有可执行文件的目录添加到您的 小路。如果您没有安装 Sphinx,请从 http://sphinx-doc.org/。停下来。

    下面列出了当所有工具都安装在各种虚拟环境中时,任何希望通过 cron 构建 sphinx 文档的人的完整命令。激活环境后,您可以使用 which 找到您的 python 和 sphinx-build 命令的位置。

    make html SPHINXBUILD='<virtualenv-path-to>/python <virtualenv-path-to>/sphinx-build'
    

    【讨论】:

      猜你喜欢
      • 2019-10-13
      • 2015-03-07
      • 2018-05-05
      • 1970-01-01
      • 2019-09-24
      • 2021-01-18
      • 2016-11-03
      • 2016-08-22
      • 1970-01-01
      相关资源
      最近更新 更多