Python 스크립트를 실행할 수 없음 프로그램 오류 : / usr / bin / python3 ^ M : 잘못된 인터프리터 :

Sep 28 2020

그래서 기본적으로 우분투 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 파일을 만드십시오. 기본 텍스트 편집기 앱을 열고 질문의 코드를 복사하여 텍스트 편집기 (Ubuntu 20.04의 gedit)에 붙여넣고 코드를 mcb.sh로 저장하고 다음 명령을 사용하여 코드를 다시 실행합니다.

chmod +x  mcb.sh
./mcb.sh