Não é possível executar o script Python Erro de programa: / usr / bin / python3 ^ M: mau intérprete:

Sep 28 2020

Então, basicamente, estou tentando executar um programa multiclipboard em python no ubuntu 20.04lts. Concluí todos os requisitos necessários de acordo com as instruções, mas ainda assim fiquei preso.

#! /usr/bin/python3


import sys, pyperclip,shelve

mcbShelf=shelve.open('mcb')
if len(sys.argv)==3 and sys.argv[1].lower=='save':
    mcbShelf[sys.argv[2]]=pyperclip.paste()
elif len(sys.argv)==2:
    if sys.argv[1].lower()=='list':
        pyperclip.copy(str(list(mcbShelf.keys())))
    elif sys.argv[1] in mcbShelf:
        pyperclip.copy(str(mcbShelf[sys.argv[1]]))
mcbShelf.close()

Eu fui para o diretório correto e executei esses comandos.

 chmod +x  mcb.py

e para executar o programa,

./mcb.py

Aqui eu enfrentei um erro como,

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

Você pode me ajudar com isso? Estou perdendo alguma coisa ou errando em algum lugar?

Respostas

1 karel Sep 28 2020 at 15:19

Você tem um caractere de retorno de carro inválido no final da primeira linha em seu código, conforme informado pela seguinte mensagem de erro.

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

O ^Mé um caractere de retorno de carro. Se você vir isso, provavelmente está olhando para um arquivo que se originou no mundo DOS / Windows, onde um fim de linha é marcado por um par de retorno de carro / nova linha, enquanto no mundo Unix, fim de linha é marcado por uma única nova linha. fonte

Para se livrar do erro, crie um novo arquivo mcb.py. Abra o aplicativo Editor de texto padrão, copie o código de sua pergunta e cole-o no Editor de texto (gedit no Ubuntu 20.04), salve o código como mcb.sh e execute o código novamente com os seguintes comandos:

chmod +x  mcb.sh
./mcb.sh