安装 docutils 后出现“rst2html:未找到命令”?

安装 docutils 后出现“rst2html:未找到命令”?

我按照以下方法在 Mac OS 系统上安装了 docutilsdocutils 指令秒。

我也做过:

$ sudo cp tools/buildhtml.py tools/rst2html.py /usr/local/bin

但是,如果我打开命令行并输入rst2html,我会得到“未找到命令”。

如果我输入rst2html.py,则没有问题,所以 Python 文件本身就在我的路径上。

我如何让我的系统识别rst2html为有效命令?

谢谢!

答案1

我不知道 mac 的情况,但 Unix 系统通常不隐含文件扩展名。事实上,文件扩展名很少有任何特殊含义。不过,有很多 Unix 技巧可以帮助你,比如创建一个符号链接:

$ sudo ln -s rst2html.py /usr/local/bin/rst2html

答案2

当您在命令行中输入该命令时rst2html,它会在您的 PATH 目录中查找名为 rst2html(而不是 rst2html.somethingorother)的程序。如果您想rst2html工作,您需要一个名为 rst2html 的文件。有几种方法可以做到这一点:

  1. 重命名程序。实际上不需要 .py 扩展名,因为系统知道这是一个 Python 脚本,因为它的舍邦线。

    sudo mv /usr/local/bin/rst2html.py /usr/local/bin/rst2html
    
  2. 硬链接该程序。您可以将该程序列在 /usr/local/bin 中,名称分别为 rst2html.py 和 rst2html,并且可以使用任意一个来启动它。

    sudo ln /usr/local/bin/rst2html.py /usr/local/bin/rst2html
    
  3. 符号链接程序。与硬链接类似,但只有一个是“真实”文件,另一个只是 unix 样式的别名。这可能比硬链接更容易管理,因为如果您安装了更新版本,链接将自动使用新版本(而使用硬链接,您需要手动更新链接)。

    sudo ln -s rst2html.py /usr/local/bin/rst2html
    

就我个人而言,我只会重命名它(选项 1),但其他任何一个选项都应该可以正常工作。

相关内容