Невозможно запустить сценарий Python. Ошибка программы: / usr / bin / python3 ^ M: плохой интерпретатор:

Sep 28 2020

Итак, в основном я пытаюсь запустить программу с несколькими плитами на 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

Не могли бы вы помочь мне с этим? Я что-то упускаю или где-то ошибаюсь?

Ответы

1 karel Sep 28 2020 at 15:19

У вас есть неправильный символ возврата каретки в конце первой строки вашего кода, о чем свидетельствует следующее сообщение об ошибке.

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