Cara menggunakan uninstall python ubuntu

Cara menggunakan uninstall python ubuntu


Saya tidak sengaja menginstal paket Python ke sistem saya menggunakan pipbukan apt-get. Saya melakukan ini dengan dua cara:

  • menggunakan versi yang lebih lama dari virtualenv, saya lupa untuk menambahkan --no-site-packagesketika membuat virtualenv - setelah itu ketika saya menelepon pip install, paket-paket Python di mana diinstal ke sistem daripada virtualenv
  • dalam virtualenv pengaturan yang benar, saya mengetik sudo pip install somepackage- sudo diinstal ke sistem daripada virtualenv

Saya kebetulan melihat ini karena saya mengetik di pip freezeluar virtualenv, dan melihat beberapa paket Python terdaftar yang seharusnya tidak ada di sana. Jadi sekarang pertanyaan saya adalah:

  • bagaimana cara mengidentifikasi semua paket Python yang telah keliru diinstal pada sistem (yaitu, paket Python yang muncul dalam pip freezedaftar, tetapi tidak diinstal dengan apt-get)?
  • bagaimana cara menghapusnya?

Jawaban:


Ubuntu Oneiric (dan saya mengharapkan versi yang lebih baru juga) menginstal paket pip /usr/local/lib/python2.7/dist-packages, dan aptpaket ke /usr/lib/python2.7/dist-packages. Jadi cukup periksa direktori sebelumnya dan sudo pip uninstallsetiap paket yang Anda temukan di sana.






Pip saat ini mengabaikan perintah untuk menghapus instalan yang mencoba untuk menghapus sesuatu yang dimiliki oleh OS. Itu tidak kesalahan, seperti halnya dengan paket yang hilang. Jadi, sekarang Anda dapat menghapus instalasi dengan proses berikut:

pip freeze > dump.txt

Edit file yang dibuang untuk menghapus -ebaris "instal yang dapat diedit", semuanya setelah ==tanda ( %s;==.*;;gdalam vim), tukar baris baru dengan spasi ( %s;\n; ;gdalam vim). Kemudian Anda dapat menghapus semua paket yang tidak dimiliki dengan

cat dump.txt | xargs sudo pip uninstall -y

Saya harus melakukan prosedur ini dua kali, karena beberapa paket juga diinstal ~/.local/lib.






AFAIK sudo pip installakan diinstal /usr/local/lib/pythonVERSION/dist-packages. Anda perlu menjalankan sudo pip uninstalluntuk menghapus instalasi paket sistem yang luas. Tampaknya pip freezemencari metadata paket dan akan mendaftar apa pun yang diinstal yaitu dari pip dan apt-get di luar virtualenvs. Ada -lopsi di dalam lingkungan virtual untuk mendaftar paket-paket yang hanya berlaku untuk lingkungan virtual itu tetapi tampaknya juga merupakan kasus default di dalam lingkungan virtual. Saya pikir Anda bisa menghapus paket-paket terkait /usr/local/lib/pythonVERSION/dist-packagesjuga tetapi metode yang tidak terlalu nyaman kurasa.


Untuk menghapus paket yang diinstal melalui pip, cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Ketika terbuka, jalankan perintah di bawah ini.

pip uninstall < package-name >

Untuk mencari paket

pip search <package you want to search for>

Untuk menentukan paket Python mana yang diinstal oleh pip, dengan freezeperintah, yang akan memberi Anda daftar paket yang diinstal dan versinya. Saya akan menyarankan menghapus semua instance, dan menginstal ulang menggunakan sudo apt-getperintah

sudo apt-get install python3





Saya perlu membersihkan ruang disk dari paket Python dengan aman. Meskipun ini adalah pembersihan lengkap dari paket, saya perlu memindahkan versi Python juga jadi saya tidak perlu paket lama. Saya menggunakan yang berikut ini untuk mendapatkan semua nama paket saya, lewati 2 baris pertama dan ambil kolom pertama, dan hapus instalasi tanpa interaksi pengguna:

pip list | awk 'NR>2 {print $1}' | xargs -I {} pip uninstall -y {}


Ini ada hubungannya dengan Homebrew. Saya tidak punya masalah dengan pyodbc di Mac Air sampai saya menginstal Homebrew dan menggunakannya untuk beberapa hal. Saya menemukan utas ini di github yang berakhir dengan solusi yang bekerja untuk saya.

"Jika Anda memiliki Homebrew, cukup instal header ODBC:

$ brew install unixodbc

dan jalankan "pip install pyodbc" lagi. "

Ini 100% menyelesaikan masalah bagi saya dan hanya butuh beberapa saat. Cobalah.