Saya telah menginstal Python 2.7.9 pada Ubuntu 14.04 dengan menyusun sumbernya , oleh .configre
, make
dan make altinstall
. make altinstall
karena saya tidak ingin menimpa default Python 2.7.6. 2.7.9 saya sudah terpasang /usr/local/bin/python2.7
dan ada banyak file lain di direktori lain di bawah /usr/local
. Dari README dalam paket instalasi sumber:
Pada sistem Unix dan Mac jika Anda berniat untuk menginstal beberapa versi Python menggunakan awalan instalasi yang sama (--prefix argumen ke skrip configure) Anda harus berhati-hati agar executable python utama Anda tidak ditimpa dengan pemasangan versi yang berbeda.
Semua file dan direktori yang diinstal menggunakan "make altinstall" berisi versi utama dan minor dan karenanya dapat hidup berdampingan. "make install" juga menciptakan $ {awalan} / bin / python yang merujuk ke $ {awalan} /bin/pythonX.Y.
Jika Anda ingin memasang beberapa versi menggunakan awalan yang sama, Anda harus memutuskan versi mana (jika ada) yang merupakan versi "utama" Anda. Instal versi itu menggunakan "make install". Instal semua versi lain menggunakan "make altinstall".
Misalnya, jika Anda ingin menginstal Python 2.5, 2.6 dan 3.0 dengan 2.6 sebagai versi utama, Anda akan menjalankan "make install" di direktori 2.6 build Anda dan "make altinstall" di yang lain.
Sekarang saya ingin menghapus instal saya sendiri 2.7.9.
Untungnya saya masih memiliki kode sumber, tetapi sayangnya, Makefile tidak memiliki bagian uninstall
$ sudo make uninstall make: *** No rule to make target `uninstall'. Stop.
Kemudian saya mencoba cara lain: pertama buat deb dari sumber dan kompilasi, instal deb (semoga menimpa file yang diinstal dari
make altinstall
), dan kemudian uninstall deb.Tapi ketika saya membuat file deb oleh
checkinstall
, saya tidak yakin apakah dan bagaimana saya harus lakukan secara berbeda untukmake altinstall
dari untukmake install
. Apa yang saya coba adalah:$ checkinstall altinstall ... Installing with altinstall... ========================= Installation results =========================== /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: 4: /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: altinstall: not found ...
Saya bertanya-tanya bagaimana saya bisa membuat deb sehingga menginstal deb akan menduplikasi proses instalasi
make altinstall
?Atau apa cara Anda menghapus instalan python 2.7.9 saya?
Catatan: paket sumber di tautan pertama juga memiliki setup.py
, install-sh
selain itu README
.
sumber
/usr/local
digunakan sebagai ganti/usr
.dpkg -L python2.7
dandpkg -L python2.7-minimal
. Dan apa yang Anda butuhkan2.7.9
?apt-get install python-pip
.Jawaban:
Perintah berikut akan menghapus
make altinstall
python -ed Anda :Anda mungkin juga harus melakukannya
Meskipun
make altinstall
telah melayani saya dengan baik jika "sistem python" memiliki nomor major.minor berbeda dari yang Anda instal, itu tidak berfungsi dengan baik jika hanya nomor mikro (posisi ketiga) berbeda. Angka itu dikecualikan dari biner yang diinstal, dan Anda berakhir dengan dua versi pythonX.Y. Ini selalu menjadi masalah, tetapi begitu distribusi mulai dikirimkan dengan utilitas sistem berbasis pada 2.7.X masalah ini menjadi lebih parah karena 2.7 seharusnya menjadi yang terakhir dari seri Python2.IMO pendekatan terbaik untuk memecahkan masalah ini adalah mencegahnya menjadi satu: konfigurasikan python untuk menginstal di direktori yang tidak digunakan oleh python lain. Di sistem saya, mereka gagal
/opt/python/X.Y.Z
.Untuk menggunakan Python yang diinstal di sana, Anda gunakan
[virualenv][1]
untuk membuat lingkungan baru:atau gunakan
[virtualenvwrapper][2]
. Saya memiliki beberapa alias untuk versi terbaru dari seri yang saya kerjakan.Jika Anda menggunakan
tox
untuk menguji terhadap beberapa versi (Anda harus) alias berikut ini akan membantunya menemukan berbagai versi:(ini adalah versi terbaru, saya menggunakan pengaturan yang sedikit berbeda dengan mempertahankan tautan dari
/opt/python/2.7
yang terbaru/opt/python/2.7.9
, dan untuk nomor minor lainnya juga, dalam proses mengunduh, membangun, dan menginstal versi python baru)Instalasi ini tidak pernah digunakan secara langsung. Mereka selalu digunakan sebagai dasar untuk
virtualenv
lingkungan saja, maka saya tidak peduli bahwa mereka tidak berada dalam PATH normal saya.sumber
pip
luar darivirtualenv
pada setiap instalasi linuxMulai dari daftar @ Anthon
rm
, dan menerapkan saran @ bin-s untuk mencari file yang lebih baru, saya datang dengan skrip bash ini untuk menghapus Python-3.6.6 saya sepenuhnya (yang telah diinstal dari sumber denganmake altinstall
):Gunakan dengan hati-hati (mis. Tambahkan
-I
opsi dalam rm cmd untuk memverifikasi setiap pembunuhan).sumber
Biasanya semua file diinstal dalam hampir satu menit. Anda dapat menggunakan "find" untuk memeriksa semua file yang diinstal hampir bersamaan, kemudian "rm" secara manual. Semoga bermanfaat.
sumber