“rst2html: comando não encontrado” depois de instalar o docutils?

4

Eu instalei docutils no meu sistema Mac OS seguindo o instruções docutils s.

Eu também fiz:

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

No entanto, se eu abrir uma linha de comando e digitar rst2html , recebo 'comando não encontrado'.

Se eu digitar rst2html.py , não há problema, então o próprio arquivo Python está no meu caminho.

Como faço para que meu sistema reconheça rst2html como um comando válido?

Obrigado!

    
por AP257 16.03.2011 / 14:59

2 respostas

4

Eu não sei sobre o mac, mas geralmente em um sistema Unix a extensão do arquivo não está implícita. Na verdade, uma extensão de nome de arquivo raramente tem algum significado especial. No entanto, existem muitos truques do Unix para ajudá-lo, talvez criando um link simbólico:

$ sudo ln -s rst2html.py /usr/local/bin/rst2html
    
por 16.03.2011 / 15:50
2

Quando você digita o comando rst2html na linha de comando, ele procura por um programa chamado rst2html (não rst2html.somethingorother) nos diretórios em seu PATH. Se você quiser que rst2html funcione, você precisa de um arquivo chamado rst2html. Existem várias maneiras de fazer isso:

  1. Renomeie o programa. Não há necessidade real da extensão .py, pois o sistema sabe que é um script Python por causa de sua linha shebang .

    sudo mv /usr/local/bin/rst2html.py /usr/local/bin/rst2html
    
  2. Vincule o programa ao link. Você pode ter o programa listado em / usr / local / bin com dois nomes diferentes, rst2html.py e rst2html, e qualquer um deles pode ser usado para iniciá-lo.

    sudo ln /usr/local/bin/rst2html.py /usr/local/bin/rst2html
    
  3. Link simbólico do programa. Semelhante ao hard-linking, exceto pelo fato de que apenas um é o arquivo "real", o outro é apenas um alias no estilo unix. Isso pode ser um pouco mais fácil de gerenciar do que hard-linking, porque se você instalar uma versão atualizada, o link usará automaticamente a nova versão (enquanto que com um link físico, você precisará atualizar o link manualmente).

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

Pessoalmente, basta renomeá-lo (opção 1), mas qualquer uma das outras opções também deve funcionar bem.

    
por 16.03.2011 / 16:02

Tags