No se puede ejecutar el script Python Error del programa: / usr / bin / python3 ^ M: mal intérprete:
Básicamente, estoy tratando de ejecutar un programa multiclipboard en python en ubuntu 20.04lts. Completé todos los requisitos necesarios según las instrucciones, pero aún así me quedé atascado.
#! /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()
Fui al directorio correcto y ejecuté estos comandos.
chmod +x mcb.py
y para ejecutar el programa,
./mcb.py
Aquí me enfrenté a un error como,
bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory
¿Puedes ayudarme con eso? ¿Me estoy perdiendo algo o me estoy equivocando en alguna parte?
Respuestas
Tiene un carácter de retorno de carro incorrecto al final de la primera línea de su código, como se indica en el siguiente mensaje de error.
bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory
El ^Mes un carácter de retorno de carro. Si ve esto, probablemente esté viendo un archivo que se originó en el mundo DOS / Windows, donde un final de línea está marcado por un par de retorno de carro / nueva línea, mientras que en el mundo Unix, el final de línea está marcado por una única línea nueva. fuente
Para deshacerse del error, cree un nuevo archivo mcb.py. Abra la aplicación Editor de texto predeterminada, copie el código de su pregunta y péguelo en el Editor de texto (gedit en Ubuntu 20.04), guarde el código como mcb.sh y vuelva a ejecutar el código con los siguientes comandos:
chmod +x mcb.sh
./mcb.sh