Bagaimana saya bisa menghapus python 2.7 setelah menginstal python 3.3?

19

Saya telah berhasil menginstal python 3.3 di Ubuntu 12.10. Karena saya tidak memerlukan banyak versi python, saya ingin menghapus python 2.7 yang ada. Ketika saya mencoba melakukan itu, menggunakan

sudo apt-get remove python2.7

Ubuntu memperingatkan saya bahwa ada banyak komponen yang tergantung pada sistem yang juga akan dihapus. Itu terlihat sangat menakutkan.

Jadi, apakah ada cara untuk menghapus python 2.7 tanpa menghapus komponen-komponen yang bergantung pada sistem, atau bisakah saya mengarahkan mereka yang bergantung untuk menggunakan python 3.3?

phoenix bai
sumber
2
Saya tidak akan merekomendasikan itu. Versi python sama sekali tidak begitu kompatibel, jadi skrip yang lebih lama dapat mengalami masalah jika Anda tidak memiliki versi yang benar.
tikend
Anda benar, python3.3 telah menyatakan bahwa ia tidak kompatibel dengan python 2.7. Jadi, lebih baik saya simpan saja. Terima kasih atas sarannya!
phoenix bai

Jawaban:

23

Kamu tidak bisa

Dari wiki / Python Ubuntu :

Rencana jangka panjang (mis. 14,04)

Pindahkan Python 2 ke alam semesta, port semua aplikasi Python di utama ke Python 3. Kami tidak akan pernah sepenuhnya menyingkirkan Python 2.7, tetapi karena tidak akan pernah ada Python 2.8, dan Python 2.7 akan hampir 4 tahun pada saat rilis 14,04 LTS, saatnya untuk membuang Python 2 ke alam semesta.

Ini berarti bahwa banyak paket-paket dasar memiliki dependensi yang sulit pada 2.7 dan masih akan memakan banyak waktu untuk mendapatkan hal-hal bermigrasi. Perhatikan bahwa Python 3 memiliki banyak perubahan yang tidak kompatibel ke belakang - ini bukan upgrade paket biasa.

Jika Anda benar-benar ingin menyingkirkan Python 2.7, Anda harus menunggu rilis 14,04, tetapi tidak ada jaminan.

gertvdijk
sumber
3
Sekarang 16,04.
muru
Sekarang 18,04, sekarang.
Francesco Pasa
Ini 19,04 fu #! & Sekarang
Genarito
5

Anda tidak bisa, dan Anda benar-benar tidak mau.

Python berubah secara drastis antara 2,7 dan 3,0, dan merusak kompatibilitas. Skrip Python yang ditulis untuk 2.7, yang digunakan untuk mendukung sejumlah besar infrastruktur sistem, tidak akan selalu berfungsi dengan baik dengan Python 3.x. Skrip-skrip tersebut perlu diperbarui untuk bekerja dengan versi baru, dan sampai itu terjadi, Anda harus menjaga Python 2.7 tetap ada.

Inilah sebabnya mengapa Anda melihat sejumlah besar dependensi pada Python lama - sistem bergantung padanya. Selain itu, tidak ada salahnya menginstal kedua versi Python pada sistem yang sama. Dan Anda mungkin menemukan aplikasi di masa depan yang masih menggunakan Python 2.7, jadi menyimpannya adalah ide yang bagus.

pengguna173076
sumber
2

Datang ke sini pada tahun 2019 karena saya mengembangkan di Python3 secara default dan sampai pada kesimpulan yang sama dengan OP setelah melihat apa yang akan dihapus setelah menjalankan apt purge python

Karena apa yang sebenarnya saya inginkan adalah memanggil Python3 dengan hanya python, saya berlari

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python

Dengan cara ini, jika Python2.7 masih diperlukan, dapat dipanggil secara eksplisit dengan python2.7sementara hanya memanggil pythonakan default ke Python3 karena tautan simbolik.

Saya tidak memiliki skrip bash level yang memanggil python2.7 dengan pythonsehingga perubahan ini tidak akan mengganggu - sementara sistem lain akan membutuhkan skrip mereka disesuaikan jika mereka melakukannya.

Penghalang utama pada distribusi yang mengalihkan perintah python dari python2 ke python3 bukanlah kerusakan dalam distribusi, tetapi alih-alih kerusakan skrip pihak ketiga pribadi yang dikembangkan oleh sysadmin dan pengguna lain.

- Perintah "python" Pada Sistem Unix-Like

Jawaban ini bukan respons langsung terhadap OP, tetapi sebagai seseorang yang memiliki pertanyaan serupa ini adalah fungsi yang saya cari ketika saya berpikir untuk menghapus 2.7. Daripada menghapus, hanya memprioritaskan mana yang bisa digunakan python.

saniboy
sumber
1
Menurut saya itu ide yang buruk. Setiap skrip lama yang dibuat untuk Python 2 akan memanggil /usr/bin/python, sementara hampir setiap skrip yang dibuat untuk Python 3 akan mengetahui perubahannya, dan menelepon python3pada saat ini. Membiarkan pythonpoint to python2.7cenderung mengurangi hal-hal.
vidarlo
Saya akan mengatakan itu tergantung pada lingkungan, seperti saya katakan saya tidak membuat skrip yang membutuhkan python2 dan bekerja dalam 3 - sementara jika saya membuat perubahan seperti ini di salah satu stasiun kami di tempat kerja menjalankan skrip otomatis itu akan sangat mengganggu .
saniboy
Apakah ada proses sistem tertentu yang dapat Anda daftarkan panggilan / usr / bin / python? Saya selalu terbuka untuk berubah pikiran ketika disajikan dengan informasi baru
saniboy
Saya menemukan beberapa di 18,04. grep -r "/usr/bin/python" /usr/bin/harus memberi Anda gambaran singkat. Mungkin tidak akan menonaktifkan sistem Anda, tetapi mungkin membuat beberapa hal tidak berfungsi. Misalnya solaar.
vidarlo
1
Pada sistem yang saya periksa, ada 39 yang tidak membuat referensi eksplisit ke python3 atau python2. Semua itu mungkin python2. Ini tentu saja tergantung pada apa yang telah Anda instal, tetapi saya tidak melihat alasan besar untuk melakukan ini ...
vidarlo