Saya punya dua versi python di linuxbox saya:
$python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ /usr/local/bin/python2.7
Python 2.7.3 (default, Oct 8 2013, 15:53:09)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ which python
/usr/bin/python
$ ls -al /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Jul 10 22:49 /usr/bin/python
Bagaimana saya bisa membuat 2.7 menjadi versi default sehingga ketika saya mengetiknya python
menempatkan saya di 2.7?
/usr/bin/env python
menjadi 2.6 bukannya 2.3 berarti setengah dari perintah dalamrpm
dan semuaurpmi
berhenti bekerja)./usr/bin/python
adalah tautan lunak yang menunjuk kepython2
. Saya baru saja mengubahnya menjadipython3.6
Jawaban:
Anda mungkin tidak benar-benar ingin mengubah Python default Anda.
Distro Anda menginstal sistem standar Python
/usr/bin
, dan mungkin memiliki skrip yang bergantung pada keberadaannya, dan dipilih oleh#! /usr/bin/env python
. Anda biasanya bisa lolos dengan menjalankan skrip Python 2.6 di 2.7, tetapi apakah Anda ingin mengambil risiko?Selain itu, menggunakan monyet
/usr/bin
dapat merusak kemampuan pengelola paket Anda untuk mengelola paket. Dan mengubah urutan direktori di AndaPATH
akan memengaruhi banyak hal lain selain Python. (Faktanya, itu lebih umum untuk/usr/local/bin
didahulukan/usr/bin
, dan mungkin itu yang sebenarnya Anda inginkan — tetapi jika Anda memilikinya sebaliknya, mungkin ada alasan bagus untuk itu.)Tetapi Anda tidak perlu mengubah Python default Anda untuk menjalankan sistem 2.7 saat Anda mengetik
python
.Pertama, Anda dapat menyiapkan alias shell:
Ketik itu pada prompt, atau letakkan di Anda
~/.bashrc
jika Anda ingin perubahan tetap ada, dan sekarang ketika Anda mengetiknyapython
menjalankan 2.7 pilihan Anda, tetapi ketika beberapa program di sistem Anda mencoba menjalankan skrip dengan/usr/bin/env python
itu menjalankan standar 2.6.Atau, buat saja lingkungan virtual dari 2.7 Anda (atau venv terpisah untuk proyek yang berbeda), dan lakukan pekerjaan Anda di dalam venv.
sumber
yum
perintah saya tidak berfungsi! Saya mencoba membuat tautan sym kembali tetapi tidak berhasilsudo ln -sf /usr/bin/python2.6 /usr/bin/python
?/usr/bin/python
itu sebenarnya bukan symlink sebelumnya, itu adalah skrip pembungkus atau dapat dieksekusi, dan sekarang Anda telah menimpanya dan tidak bisa mendapatkannya kembali. Jikarpm
masih berfungsi, Anda dapat mengunduh paket Python secara manual dan menginstalnya tanpayum
.python2.6
jadi masih ada.Tambahkan
/usr/local/bin
kePATH
variabel lingkungan Anda , di awal daftar dari/usr/bin
.Umumnya ini dilakukan di file rc shell Anda, misalnya untuk bash, Anda akan meletakkan ini di
.bashrc
:Ini akan menyebabkan cangkang Anda terlihat pertama kali
python
masuk/usr/local/bin
, sebelum masuk dengan yang masuk/usr/bin
.(Tentu saja, ini berarti Anda juga harus
/usr/local/bin/python
menunjuk kepython2.7
- jika belum, Anda harus menghubungkannya.)sumber
Masukkan perintahnya
Di sini Anda bisa melihat sesuatu seperti ini
python2.7 default Anda adalah soft link ke teks 'python'
Jadi hapus python softlink
lalu coba lagi perintah di atas
Anda dapat melihat softlink dihapus
Kemudian buat softlink baru untuk python3.6
ln -s /usr/bin/python3.6 python
Kemudian coba perintah
python
di terminalKetik
help
,copyright
,credits
ataulicense
untuk informasi lebih lanjut.sumber
Verifikasi versi python saat ini dengan:
kemudian periksa python adalah tautan simbolis ke file mana.
Keluaran Contoh:
Periksa versi python lain yang tersedia:
Keluaran Contoh:
Jika ingin mengubah versi python saat ini menjadi file edit versi 3.6 ~ / .bashrc:
tambahkan baris di bawah ini di akhir file dan simpan:
Untuk menginstal pip untuk python 3.6
Jika Berhasil, periksa versi pip saat ini:
Keluaran Contoh:
sumber
Semua OS hadir dengan versi default python dan berada di / usr / bin. Semua skrip yang disertakan dengan OS (misalnya yum) menunjukkan versi python yang berada di / usr / bin. Saat Anda ingin menginstal versi baru python, Anda tidak ingin merusak skrip yang ada yang mungkin tidak berfungsi dengan versi baru python.
Cara yang benar untuk melakukan ini adalah dengan menginstal python sebagai versi alternatif.
Sekarang dengan melakukan ini, skrip yang ada seperti yum masih berfungsi dengan / usr / bin / python. dan versi python default Anda adalah yang diinstal di / usr / local / bin. yaitu saat Anda mengetik python, Anda akan mendapatkan 2.7.3
Ini terjadi karena. Variabel $ PATH memiliki / usr / local / bin sebelum usr / bin.
Jika python2.7 masih tidak berfungsi sebagai versi python default, Anda perlu melakukannya
sumber
Saya kira Anda telah menginstal versi 2.7 secara manual, sedangkan 2.6 berasal dari sebuah paket?
Jawaban sederhananya adalah: uninstall paket python.
Yang lebih rumit adalah: jangan instal secara manual di / usr / local. Buat paket dengan versi 2.7 dan kemudian tingkatkan.
Penanganan paket tergantung pada distribusi apa yang Anda gunakan.
sumber