Cara membuat `python` menjadi alias dari` python3` di seluruh sistem Debian
Pembaruan terbaru dari sistem pengujian Debian saya menghapus Python versi 2, dan saya hanya menginstal Python 3, dengan python3. Tidak ada lagi perintah bernama python. Ini menyebabkan beberapa skrip gagal, termasuk skrip yang kompatibel dengan Python 3.
Saya akan tertarik untuk mengetahui apa cara yang tepat untuk mengkonfigurasi secara global pythonsebagai alias untuk python3.
Satu solusi kotor adalah melakukan sesuatu seperti itu secara manual sudo ln -s /usr/bin/python{3,}, tetapi saya khawatir ini mungkin tidak kuat untuk pembaruan APT di masa mendatang (atau jika menginstal ulang Python 2 nanti). Pilihan lainnya adalah mengatur alias, tapi kemudian itu hanya akan bekerja untuk pengguna saya, bukan untuk seluruh sistem.
Saya juga mencatat bahwa di Ubuntu ada paket python-is-python3yang melakukan hal ini dengan tepat, tetapi tidak ada paket seperti itu di Debian.
Jawaban
Jika Anda ingin tetap pada aturan bahwa segala sesuatu di /usrselain /usr/localharus berasal dari sebuah paket, saya benar-benar akan men-download yang python-is-python3paket dan menginstal itu. Ini hanya mengirimkan /usr/bin/pythonsymlink dan dokumentasi yang diperlukan, dan hubungan paketnya tidak mungkin menyebabkan masalah di masa mendatang.
Alias tidak akan membantu dengan shebang skrip Anda, dan mengingat bahwa paket Python tidak menggunakan alternatif, membuat alternatif Anda sendiri ( update-alternativesdll.) Tidak akan menjadi solusi yang kuat.
Jika skrip Anda menggunakan /usr/bin/env python, Anda dapat menambahkan link secara manual /usr/local/bin.
Terlepas dari apa yang Anda putuskan, mulai sekarang paket yang bergantung pada Python di Debian diharuskan untuk menggunakan secara eksplisit python2atau python3di shebang mereka, jadi Anda tidak akan mengalami masalah yang disebabkan oleh paket dari repositori resmi (di Debian 11 dan yang lebih baru, tidak termasuk tidak stabil dan eksperimental untuk saat ini karena mereka masih memiliki paket Python lama yang belum dibersihkan).
Sepertinya Debian sekarang pengiriman python-adalah-python3 sendiri (di sid dan pengujian sebagai tulisan ini), sehingga premis dari pertanyaan tidak lagi memegang dan Anda hanya dapat: sudo apt update && sudo apt install python-is-python3.