Невозможно запустить сценарий Python. Ошибка программы: / usr / bin / python3 ^ M: плохой интерпретатор:
Итак, в основном я пытаюсь запустить программу с несколькими плитами на python на ubuntu 20.04lts. Я выполнил все необходимые требования согласно инструкциям, но все равно застрял.
#! /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()
Я перешел в правильный каталог и выполнил эти команды.
chmod +x mcb.py
и для запуска программы,
./mcb.py
Здесь я столкнулся с ошибкой:
bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory
Не могли бы вы помочь мне с этим? Я что-то упускаю или где-то ошибаюсь?
Ответы
У вас есть неправильный символ возврата каретки в конце первой строки вашего кода, о чем свидетельствует следующее сообщение об ошибке.
bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory
Это ^Mсимвол возврата каретки. Если вы видите это, вы, вероятно, смотрите на файл, созданный в мире DOS / Windows, где конец строки отмечен парой возврата каретки / новой строки, тогда как в мире Unix конец строки отмечается одной новой строкой. источник
Чтобы избавиться от ошибки, создайте новый файл mcb.py. Откройте приложение текстового редактора по умолчанию, скопируйте код из своего вопроса и вставьте его в текстовый редактор (gedit в Ubuntu 20.04), сохраните код как mcb.sh и снова запустите код с помощью следующих команд:
chmod +x mcb.sh
./mcb.sh