Não é possível executar o script Python Erro de programa: / usr / bin / python3 ^ M: mau intérprete:
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
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