Pertanyaan: Saya mendapatkan SyntaxError:Tanda kurung tidak ada dalam panggilan untuk 'mencetak' ketika saya memanggil/mengeksekusi 'preupg ' pada mesin CentOS saya. Apa yang mungkin menjadi masalah?
Berikut cuplikan kesalahannya:
# sudo preupg File "/usr/bin/preupg", line 25 print '\nAssessment interrupted.' ^ SyntaxError: Missing parentheses in call to 'print'
Solusi:
Menurut pesan kesalahan, sepertinya masalahnya mungkin karena kompatibilitas versi. Perintah preupg telah ditulis berdasarkan Python versi 2 dan Anda mencoba menjalankannya dengan Python versi 3.
Menurut dokumentasi Python 3, 'print' membutuhkan tanda kurung seperti yang ditunjukkan di bawah ini:
print ('\nAssessment interrupted.');
Anda dapat mengubah kode preupg (mungkin baris nomor 25) dengan perubahan ini atau gunakan Python 2 seperti yang ditunjukkan di bawah ini.
$python2.6 /usr/bin/preupg
Catatan: Ada banyak perubahan dalam Python 3, jadi Anda tidak boleh hanya berhenti dengan print pernyataan sendirian. Anda mungkin perlu memeriksa kecuali pernyataan dan lainnya atau port infact aplikasi lengkap untuk mendukung Python 3.