Python betiği Çalıştırılamıyor Program Hatası: / usr / bin / python3 ^ M: hatalı yorumlayıcı:

Sep 28 2020

Bu yüzden temelde ubuntu 20.04lts üzerinde python'da multiclipboard programı çalıştırmaya çalışıyorum. Talimatlara göre gerekli tüm gereksinimleri tamamladım ancak yine de sıkıştım.

#! /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()

Doğru dizine gittim ve bu komutları uyguladım.

 chmod +x  mcb.py

ve programı çalıştırmak için

./mcb.py

Burada bir Hata ile karşılaştım,

bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory

Lütfen bana yardım eder misin? Herhangi bir şeyi kaçırıyor muyum yoksa bir yerde yanlış mı yapıyorum?

Yanıtlar

1 karel Sep 28 2020 at 15:19

Aşağıdaki hata mesajında ​​belirtildiği gibi, kodunuzun ilk satırının sonunda hatalı bir satır başı karakteri var.

bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory

^MBir satır başı karakteridir. Bunu görürseniz, muhtemelen DOS / Windows dünyasından kaynaklanan bir dosyaya bakıyorsunuzdur, burada bir satır sonu satır sonu / satırsonu çifti ile işaretlenirken, Unix dünyasında satır sonu tek bir satırsonu ile işaretlenmiştir. kaynak

Hatadan kurtulmak için yeni bir mcb.py dosyası oluşturun. Varsayılan Metin Düzenleyici uygulamasını açın, sorunuzdaki kodu kopyalayın ve Metin Düzenleyicisine (Ubuntu 20.04'te gedit) yapıştırın, kodu mcb.sh olarak kaydedin ve aşağıdaki komutlarla kodu tekrar çalıştırın:

chmod +x  mcb.sh
./mcb.sh