【问题标题】:OS X install of Sphinx: The 'sphinx-build' and 'sphinx-quickstart' not foundOS X 安装 Sphinx:找不到“sphinx-build”和“sphinx-quickstart”
【发布时间】:2017-03-19 02:17:52
【问题描述】:

关于这个主题有几个“未答复”的帖子与找不到“sphinx-build”有关: sphinx-build -h command not found in Mac OS

Sphinx 是在 OSX 上安装的:

  • python3 -m pip install sphinx
  • brew install sphinx

在任何一种情况下,都找不到命令sphinx-buildsphinx-quickstart

即使python3 -m pip freeze 显示安装:

Sphinx==1.3.6

我错过了什么?

谢谢

【问题讨论】:

    标签: python macos python-sphinx


    【解决方案1】:

    对于自制软件,这些工具现在似乎在sphinx-doc 中。而且默认情况下也不会放入您的PATH,因为sphinx-doc 是“仅桶装”。要安装它并将其放入PATH,您可以:

    brew install sphinx-doc
    brew link sphinx-doc --force
    

    为了向读者全面披露,我将在不使用 --force 时包含仅桶警告 brew 发出:

    Warning: sphinx-doc is keg-only and must be linked with --force
    Note that doing so can interfere with building software.
    

    我不知道为什么 sphinx-doc 只是小桶,但将 sphinx-{quickstart,apidoc,autogen,build} 放入 PATH 对我来说似乎无害。

    【讨论】:

    • 我相信它给你这个警告的原因是因为pip3 install sphinx 想写到 /usr/local/bin/spinx-apidoc` 等等。例如,如果您执行brew install sphinx-dox; pip3 install breathe;,后者将失败,因为它尝试执行pip3 install sphinx 并且无法覆盖/usr/local/bin/sphinx-apidoc。虽然我猜这种情况下正确的解决方案是卸载 brew 的 sphinx。
    • 虽然...既然我这样做了,pip3 install sphinx 实际上并没有写信给/usr/local/bin/sphinx-apidoc。它一定试图对它做其他事情(我收到了一个权限被拒绝错误)。
    • 运行pip3 uninstall sphinx; pip3 install sphinx后,所有sphinx-build等脚本都出现了。
    【解决方案2】:

    在 OS X El Capitan 上安装 sphinx 后,我遇到了类似的问题。我使用 pip 安装了 sphinx:pip install sphinx --user。尽管~/Library/Python/2.7/bin 中存在sphinx-build 二进制文件,但找不到该命令。

    问题是我将路径设置为PATH="~/Library/Python/2.7/bin:$PATH"。将波浪号 ~ 替换为 $HOME 使其成为 PATH="$HOME/Library/Python/2.7/bin:$PATH" 为我解决了问题。

    【讨论】:

    • 如果python是用自制软件安装的,这不起作用,并且问题确实包含brew install ...,但它不明确。
    【解决方案3】:

    听从@Dan Murphy的建议

    我的 python 3.4 安装在根目录下。修改~/.bash_profile如下:

    export PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin/:$PATH"
    

    【讨论】:

      【解决方案4】:

      如果您使用自制软件安装 Python,路径会略有不同。以下是我希望解决此问题的一般方法

      • 运行 python3 -c 'import sys; print("\n".join(sys.path))' 并查找像 .../Python.framework/Versions/3.5/lib/... 这样的行。

      • 会有一个bin/lib/ 的兄弟。 bin/ 包含 sphinx-quickstart 和其他 sphinx 命令。

      • 对于在 osx 上安装了 python3 的 homebrew,目录应该是 /usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/bin

      • export PATH=$PATH:.../Python.framework/Versions/3.5/bin 放入您的 bash 配置文件并重新启动您的终端。

      【讨论】:

      • 不幸的是,我在该文件夹中的任何地方都找不到任何与 sphinx 相关的内容。事实上,pip3 uninstall sphinx 列出了它将删除的所有文件,并且没有任何地方的sphinx-build
      • 奇怪 - 我卸载了它并重新安装了它,第二次它在 /usr/local/bin 中正确添加了脚本
      • > 会有一个bin/是的兄弟,我不知道这是指什么,这应该在哪里?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多