Hai Saya mencoba pengemasan python menggunakan setuptools dan untuk menguji saya menginstal modul dalam mode pengembangan. yaitu
python setup.py develop
Ini telah menambahkan direktori modul saya ke sys.path. Sekarang saya ingin menghapus modul apakah ada cara untuk melakukan ini?
Terima kasih sebelumnya
python
setuptools
copyninja
sumber
sumber
pip
atau manajer lain dengan kemampuan uninstall untuk mengelola paket python.python setup.py develop
denganpip
?--editable
(atau-e
) yang berperilaku hampir sama dengan setuptools 'develop
. Saya pikir itu mungkin--editable
lebih baru dari komentar Anda, tetapi tidak - pencarian cepat repo pip di GitHub menghasilkan referensi ke editable dalam komit pada tahun 2009. Terlebih lagi, saya melihat bahwa ini sudah ditunjukkan oleh Tomasz Wysocki sebelum Anda berkomentar !Jawaban:
Gunakan opsi
--uninstall
atau-u
untukdevelop
, yaitu:Ini akan menghapusnya dari easy-install.pth dan menghapus .egg-link. Satu-satunya hal yang tidak dilakukannya adalah menghapus skrip (belum).
sumber
setup.py
, Anda harus menghapusnya secara manual.--user
opsi seperti yang saya lakukan selama instalasi:python setup.py develop --uninstall --user
rm
ataudel
bergantung pada OS Anda. Yang saya maksud adalah jika Anda memiliki beberapa file yang dapat dieksekusi pada saat Anda menginstal dan kemudian mengubah nama mereka (atau menghapusnya) di Andasetup.py
, makasetup.py
tidak akan mengetahuinya lagi (tidak peduli versipip
/python
Anda dan Anda perlu menjaganya secara manual. Mereka biasanya terletak di beberapabin
direktori pada sistem POSIX (baca Linux, BSD, MacOS X), tidak dapat mengingat tentang Win.Edit easy-install.pth di direktori paket situs Anda dan hapus baris yang mengarah ke versi pengembangan paket itu.
sumber
develop --uninstall
gagal karena saya telah membagi proyek menjadi dua, dan yang salah tetap ada di direktori asli.Saya pernah mengalami masalah serupa dengan ini sebelumnya. Apa yang saya lakukan adalah memuat shell Python, mengimpor modul dan kemudian mencetak
__file__
atributnya. Dari sana saya hanya akan menghapus folder atau file yang sedang diasosiasikan.Apa yang mungkin ingin Anda lihat adalah menggunakan virtualenv , sistem ini memungkinkan Anda untuk membuat instance python terpisah dari sistem Anda. Semua modul yang Anda instal atau gunakan dalam instance ini sudah lengkap termasuk versi modulnya.
Saya menyimpan semua proyek saya sekarang di dalam virtualenv yang ada di sana, yang memungkinkan saya untuk menginstal dan menggunakan modul apa pun yang saya inginkan tanpa khawatir mengacaukan modul dari proyek lain.
sumber