Saya menjalankan Ubuntu 9:10 dan paket yang disebut M2Crypto diinstal (versi 0.19.1). Saya perlu mengunduh, membangun, dan menginstal versi terbaru dari paket M2Crypto (0.20.2).
Paket 0.19.1 memiliki file di sejumlah lokasi termasuk (/ usr / share / pyshared dan /usr/lib/pymodules.python2.6).
Bagaimana saya bisa sepenuhnya menghapus versi 0.19.1 dari sistem saya sebelum menginstal 0.20.2?
Cara terbaik yang saya temukan adalah menjalankan perintah ini dari terminal
sudo
akan meminta untuk memasukkan kata sandi root Anda untuk mengkonfirmasi tindakan.Catatan: Beberapa pengguna mungkin memasang pip3 sebagai gantinya. Dalam hal itu, gunakan
sumber
pip update
danpip upgrade
dan putus asa sampai saya melihat di--upgrade
sini. Mengapa mereka tidak menambahkanpip upgrade
perintah?sudo
tidak diperlukan.Untuk secara otomatis memutakhirkan semua paket yang sudah usang (yang diinstal menggunakan pip), jalankan saja skrip di bawah,
Di sini,
pip list --outdated
akan mencantumkan semua paket tanggal keluar dan kemudian kita pipa untuk awk, sehingga hanya akan mencetak nama. Kemudian,$(...)
akan membuatnya menjadi variabel dan kemudian, semuanya dilakukan secara otomatis. Pastikan Anda memiliki izin. (Taruhsudo
sebelum pip jika Anda bingung) Saya akan menulis skrip bernama,pip-upgrade
Kode di bawah,Kemudian gunakan baris skrip berikut untuk menyiapkannya:
Lalu, tekan saja
pip-upgrade
dan voila!sumber
awk: cmd. line:1: { print $1 })
pip
mengharuskan Anda menggunakan--format=legacy
opsi, yaitupip list --outdated --format=legacy
,. FYI everyone: memperbarui semua modul melalui pip bisa sangat berbahaya di banyak distro Linux. Banyak dari mereka menyediakan modul python spesifik melalui paket distro dan beberapa distro tersebut (khususnya RHEL) dapat rusak jika Anda memperbarui kotoran ... belum lagi fakta bahwa jika Anda memperbarui melalui pip, paket distro mungkin mengembalikan perubahan Anda pada pembaruan di masa depan.pip install $(pip list --outdated | tail +3 | grep -v sdist | awk '{ print $1 }') --upgrade
pip list --outdated
Anda akan mendapatkan daftar paket yang sudah usang.pip install [package] --upgrade
Ini akan memutakhirkan[package]
dan menghapus versi sebelumnya.Untuk memperbarui pip:
Sekali lagi, ini akan menghapus versi pip sebelumnya dan akan menginstal versi terbaru pip.
sumber
sumber
Saya pikir yang terbaik adalah:
sumber
Gunakan pipupgrade !
pipupgrade membantu Anda meningkatkan sistem Anda, lokal atau paket dari
requirements.txt
file! Itu juga secara selektif meningkatkan paket yang tidak merusak perubahan. Kompatibel dengan Python2.7 +, Python3.4 + dan pip9 +, pip10 +, pip18 +.CATATAN: Saya penulis alat ini.
sumber
pip3.7 list --outdated | sed -n -e '3,$s/ .*//p'
; lakukan pip3.7 install --upgrade $ i; dilakukanBagaimana paket awalnya diinstal? Jika melalui apt, Anda bisa melakukannya
apt-get remove python-m2crypto
Jika Anda menginstalnya melalui easy_install, saya cukup yakin satu-satunya cara adalah dengan hanya membuang file di bawah lib, dibagikan, dll.
Rekomendasi saya di masa depan? Gunakan sesuatu seperti pip untuk menginstal paket Anda. Selain itu, Anda bisa mencari sesuatu yang disebut virtualenv sehingga paket Anda disimpan berdasarkan per-lingkungan, bukan hanya di root.
Dengan pip, cukup mudah:
Tetapi Anda juga dapat menginstal dari git, svn, dll. Dengan alamat yang benar. Ini semua dijelaskan dalam dokumentasi pip
sumber
sumber
Dalam buku catatan Juptyer, cara yang sangat sederhana adalah
Jadi, Anda hanya perlu mengganti dengan nama paket yang sebenarnya.
sumber
Dapatkan semua paket yang ketinggalan jaman dan buat file batch dengan perintah berikut pip instal xxx --upgrade untuk setiap paket yang sudah usang
sumber