Python easy_install
membuat penginstalan paket baru menjadi sangat nyaman. Namun, sejauh yang saya tahu, itu tidak mengimplementasikan fitur umum lainnya dari manajer dependensi - daftar dan menghapus paket yang diinstal.
Apa cara terbaik untuk mengetahui apa yang diinstal, dan apa cara yang disukai untuk menghapus paket yang diinstal? Apakah ada file yang perlu diperbarui jika saya menghapus paket secara manual (misalnya dengan rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg
atau serupa)?
python
packages
setuptools
easy-install
ire_and_curses
sumber
sumber
easy_uninstall
, atau b: repot untuk menyebutkan bagaimana seseorang dapat melakukannya di--help
- mengejutkan pikiran saya / _ membuat hati jiwaku sedih / sedih hatiku .Jawaban:
pip , alternatif untuk setuptools / easy_install, menyediakan perintah "uninstall".
Instal pip sesuai dengan instruksi instalasi :
Kemudian Anda dapat menggunakan
pip uninstall
untuk menghapus paket yang diinstal denganeasy_install
sumber
Untuk menghapus instalan,
.egg
Anda perlu kerm -rf
telur (mungkin direktori) dan menghapus baris yang cocok darisite-packages/easy-install.pth
sumber
pip
Manajer paket yang lebih baru menyertakan fitur uninstall.data_files
danscripts
(dan mungkin kategori file lainnya) pada sistem. Egg'sEGG-INFO/SOURCES.txt
berisi daftar semuapackage
file dansources
, tetapi tidakdata_files
, yang dapat diinstal ke direktori sembarang pada sistem Anda ...Pertama, Anda harus menjalankan perintah ini:
Ini menghapus semua dependensi paket.
Kemudian hapus file telur dari paket itu:
sumber
-m
bukan perintah easy_install yang tepat untuk menghapus apa pun sejauh yang saya tahu, tetapi jawaban ini memberikan lokasi penting dari paket easy_install yang tidak dijawab oleh jawaban lain. sebuahrm -rf /usr/local/lib/python*
sebelum menginstal pip adalah cara untuk pergi tampaknya bagi sayaSemua info yang di jawaban yang lain, tetapi tidak merangkum baik permintaan Anda atau tampaknya membuat hal-hal sia-sia kompleks:
Untuk keperluan penghapusan Anda gunakan:
(instal menggunakan
easy_install pip
)Untuk 'daftar paket yang diinstal' Anda perlu menggunakan:
Atau:
yang dapat menampilkan lebih banyak detail paket.
(Instal melalui
easy_install yolk
ataupip install yolk
)sumber
yolk -l
, saya melihat bahwa saya memiliki paket duplikat seperti "scipy -0.11.0 -non-development development" dan "scipy -0.14.0 ...-development development". Bagaimana saya bisa menghapus paket pengembangan tidak aktif ini?Ada beberapa sumber di internet yang menyarankan hack dengan menginstal ulang paket dengan opsi -m dan kemudian hanya menghapus file .egg di lib / dan binari di bin /. Juga, diskusi tentang masalah setuptools ini dapat ditemukan pada pelacak bug python sebagai masalah setuptools 21 .
Sunting: Menambahkan tautan ke bugtracker python.
sumber
Jika masalahnya adalah gangguan yang cukup serius bagi Anda, Anda dapat mempertimbangkan virtualenv . Ini memungkinkan Anda untuk membuat lingkungan yang merangkum pustaka python. Anda menginstal paket di sana daripada di direktori paket situs global. Semua skrip yang Anda jalankan di lingkungan itu memiliki akses ke paket-paket itu (dan juga paket global Anda). Saya sering menggunakan ini ketika mengevaluasi paket yang saya tidak yakin ingin / perlu instal secara global. Jika Anda memutuskan untuk tidak membutuhkan paket itu, cukup mudah untuk meledakkan lingkungan virtual itu. Cukup mudah digunakan. Buat env baru:
virtual_envt menginstal setuptools untuk Anda di lingkungan baru, sehingga Anda dapat melakukan:
Anda bahkan dapat membuat skrip boostrap Anda sendiri yang mengatur lingkungan baru Anda. Jadi, dengan satu perintah, Anda dapat membuat env virtual baru dengan, katakanlah, python 2.6, psycopg2 dan django diinstal secara default (Anda dapat menginstal versi python env-spesifik jika Anda mau).
sumber
Instruksi resmi (?): Http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages
sumber
mencoba
kemudian
sumber
$ easy_install -mxN PACKAGE
lalu$ rm -rf .../lib/python2.X/site-packages/PACKAGE.egg
(Lihat peak.telecommunity.com/DevCenter/… )Untuk daftar paket Python yang diinstal, Anda dapat menggunakan
yolk -l
. Anda harus menggunakannyaeasy_install yolk
terlebih dahulu.sumber
Datangi pertanyaan ini, sambil mencoba menghapus banyak paket Python acak yang terinstal dari waktu ke waktu.
Menggunakan informasi dari utas ini, inilah yang saya buat:
Ini
package_list
dibersihkan (awk) daripip freeze
dalam virtualenv.Untuk menghapus hampir semua paket Python:
sumber
<package_list xargs -n1 sudo pip uninstall -y
menghindari UUOC!Saya mengalami masalah yang sama pada MacOS X Leopard 10.6.blah.
Solusi adalah memastikan Anda memanggil MacPorts Python:
Semoga ini membantu.
sumber
Bagi saya hanya menghapus file ini: easy-install.pth berfungsi, istirahat pip install django == 1.3.7
sumber
Ini berhasil untuk saya. Ini mirip dengan jawaban sebelumnya tetapi jalur ke paket berbeda.
Plaform: MacOS High Sierra versi 10.13.3
sumber
error: No urls, filenames, or requirements specified (see --help)