Executando script a partir do problema da shell

1

Ringtail Raring do Lubuntu. Eu quero ser capaz de executar meus scripts com ./

Eu inicio meu script python com #!/usr/bin/python e ele diz

bash : ./myscript.py: /usr/bin/python^M: bad interpreter: No such file or directory

Se eu usar #!/usr/bin/env python , ocorrerá um erro semelhante:

: No such file or directory

O que estou fazendo de errado?

Eu absolutamente tenho o Python instalado e posso executar os scripts normalmente com python myscript.py

    
por Anonymous Entity 16.08.2013 / 06:18

1 resposta

7

A partir do ^M você pode ver que o arquivo myscript.py está usando quebras de linha no estilo windows / dos (o Windows usa CR LF (retorno de carro + feed de linha) no final de uma linha. então o que você vê como ^M é o CR. Então, o que você não está usando /usr/bin/python mas /usr/bin/python<CR> que não existe.

Você pode remover o ^M usando dos2unix (fazer sudo apt-get install dos2unix para instalar e usar dos2unix myscript.py ).

    
por Thomas 16.08.2013 / 06:54