Ubuntu'da varsayılan python sürümü python3 olarak ayarlanamıyor


147

Varsayılan python sürümünü python3in olarak ayarlamaya çalışıyordum Ubuntu 16.04. Varsayılan olarak python2(2.7) 'dir. Aşağıdaki adımları takip ettim:

update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3

ancak ikinci ifade için aşağıdaki hatayı alıyorum,

rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3
update-alternatives: --install needs <link> <name> <path> <priority>

Use 'update-alternatives --help' for program usage information.   

Ubuntu'da yeniyim ve neyi yanlış yaptığımı bilmiyorum.


3
Uyarıda belirtildiği gibi, önceliğinizi kaçırıyorsunuz.
greedy52

6
İşletim sisteminizin birçok tesisini sakatlayacağından Python 2.7'yi kaldırmamaya dikkat edin (deneyimden :()
Jacques de Hooge

Öncelikli hatanızla ilgili olarak cevabımda bir düzenleme yaptım.
Steampunkery

1
Bir uyarı kelimesi: pythonPython 3'e geçmek bana kötü bir fikir gibi geliyor . Python 2'de yazılan komut dosyalarını çağırmanın varsayılan yolu python my-script-p2.py, iken python3 my-script-p3.py. Birçok sistem komut dosyasının buna güvenmesini beklerdim.
Jan groth

1
Konuyla ilgilenenler için sanal ortama dikkat etmelerini tavsiye ederim: docs.python.org/3/tutorial/venv.html Ubuntu 18 LTS'm hala Python 2.7 kullanıyor ve örneğin, ben Python 3.X kullanmak için sanal ortam ve Django projelerimde güncel olun.
Victor Bjorn

Yanıtlar:


140

.Bashrc dosyanızı açın nano ~/.bashrc. Tür alias python=python3sonra ctrl + o ve yakın ctrl + x ile dosya ile dosyayı kaydetmektedir dosyanın üst kısmına yeni çizgiye üzerinde. Ardından, komut satırı türünüze geri dönün source ~/.bashrc. Şimdi takma adınız kalıcı olmalı.

DÜZENLE:

Güncelleme alternatifleri için öncelik bir tamsayıdır. Öncelik, hangi programın ilk olarak kullanılması gerektiğini gösterir. Bu makale her şeyi oldukça iyi özetliyor.


62
Bu yanlış cevap. Bashrc'nizi düzenlemek, güncelleme alternatifleri ile aynı şeyi yapmaz. Örneğin, ile başlayan betikler #!/usr/bin/env pythonbashrc'deki sürümü kullanmaz. Lütfen @ Pardhu'nun cevabını kullanın.
stonewareslord

Bu cevabı uzun zaman önce yazdım ve güncelleme alternatiflerinin bashrc'yi değiştirmekle aynı şey olmadığının farkındayım. İsterseniz yanıtı düzenleyebilirim.
Steampunkery

1
Takma adı değiştirmenin aynı şeyi yapmadığı bu soruyla kullanıcılar için daha çok bir uyarıdır. Düzenlemek istiyorsanız size kalmış.
stonewareslord

Bana yardımcı olan tek cevap bu. Yaptığım çalıştı sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5.2. But I got: update-alternatives: --install needs <link> <name> <path> <priority> Use 'update-alternatives --help' for program usage information.
alexchenco

2
Bunu yaptım ve sanallaştırmalar gibi şeyleri bozdu. Bu cevap daha fazla sorun yaratıyor
Kuzeko

298

Bahsedilen ikinci satır şu şekilde değiştirilebilir:

update-alternatives --install /usr/bin/python python /usr/bin/python3 10

Bu, yolu için 10 önceliği verir python3. .bashrcDosyayı düzenlemenin dezavantajı , komutlarla birlikte kullanıldığında çalışmamasıdır sudo.

Güncelleme: Lütfen sudokomutu şu şekilde çalıştırırken kullanın :

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10


4
İyi ve kolay bir çıkış yolu.
PrakashG

8
İyi ve konuya doğru. Hata mesajındaki "<priority>" zaten önerdi. BTW, "sudo" genellikle bu yükleme komutunu çalıştırmak için gereklidir.
2019

4
Ywu'nun dediği gibi, "sudo update-alternatives --install / usr / bin / python python / usr / bin / python3 10"
Roy

3
Kesin olarak bunu yapmanın doğru yolu budur, ancak sistem genelindeki varsayılanı değiştirmenin bazı şeyleri bozabileceğini belirtmek gerekir. Örneğin, sadece python2 ile çalışan sonlandırıcıya gidip bir düzeltme uygulamam gerekiyordu.
Dale Anderson

1
Tamamen çalışmıyor - bu komut pythonçalıştırıldıktan sonra python3, ancak python-configyine de çalışıyor python2-configve genel bir kesinti oluyor
Chris Dodd

37

Ubuntu 18.04'te Python 3.6.8'i varsayılan olarak Python 3.7'ye değiştirmek için.

Python 3.7'yi yükleyin

Python3.7'yi kurma ve varsayılan yorumlayıcı olarak yapılandırma adımları.

  1. Apt-get kullanarak python3.7 paketini kurun

    sudo apt-get install python3.7

  2. Python3.6 ve Python 3.7'yi ekleyin update-alternatives

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
  1. Python 3'ü Python 3.7'yi gösterecek şekilde güncelleyin

    sudo update-alternatives --config python3 Python 3.7 için 2 girin

  2. Python sürümünü test edin

python3 --v
Python 3.7.1 

3
Bunun paketlenmiş yazılımı bozabileceğine dair bir uyarı eklemek isteyebilirsiniz. Python 3.6, dağıtılmış varsayılan değerdir ve paketlenmiş tüm yazılım paketleri de bu sürümü üstlenir.
Tim

Bu bana yardımcı oldu. Teşekkürler.
jeffry copps

Python'u python3 yerine 3.7 sürümüyle değiştirebilir miyim?
Wee Hong

@Tim, bununla ilgilenmenin en iyi yolu nedir?
Shreya

@Wee Hong, evet yapabilirsin. $ Sudo update-alternative --install / usr / bin / python3 python3 .... yerine sadece $ sudo update-alterative --install / usr / bin / python python ..... ve sonra: sudo update -alternatives --config python.
Arthur Zennig

23

Python3'e geçmek için terminalde aşağıdaki komutu kullanabilirsiniz alias python=python3.


4
Ancak bu yalnızca terminaldeki mevcut çalışan işlem için çalışır. Terminali kapatıp açarsam, python2'ye geri dönecektir.
RejeeshChandran

2
@RejeeshChandran Steampunkery cevabına bak
Seraf

13

Basit ve güvenli bir yol, bir takma ad kullanmak olacaktır. Bunu ~ / .bashrc dosyasına yerleştirin: gedit editörü kullanıyorsanız

gedit ~ / .bashrc

bashrc dosyasına gidin ve ardından bashrc dosyasının en üstünde aşağıdaki değişikliği yapın.

takma ad python = python3

Yukarıdakileri dosyaya ekledikten sonra. aşağıdaki komutu çalıştırın

kaynak ~ / .bash_aliases veya kaynak ~ / .bashrc

misal:

$ python --version

Python 2.7.6

$ python3 --version

Python 3.4.3

$ alias python = python3

$ python --version

Python 3.4.3


10

Ek olarak, pip için bir takma ad da ekleyebilirsiniz (.bashrc veya bash_aliases içinde):

takma ad pip = 'pip3'

Birçoğunuz temiz bir python3 kurulumunun aslında python3.x'e işaret ettiğini görürsünüz, bu yüzden ihtiyacınız olabilir:

takma ad pip = 'pip3.6'
takma ad python = 'python3.6'


8

Ubuntu Focal (20.20) kullanıyorsanız, kurabilirsiniz python-is-python3:

sudo apt-get install python-is-python3

/usr/bin/pythonişaret etmek için sembolik bağı değiştirmek için /usr/bin/python3.8.


Küçük yazım hatası: Ubuntu
Odağı

7

İlk Kurulumda python3 ve pip3

sudo apt-get install python3 python3-pip

sonra terminal koşusunda

alias python=python3

Makinenizdeki python sürümünü kontrol edin.

python --version

5

Dediği gibi, update-alternatives --install<link> <name> <path> ve <priority> argümanlarına ihtiyaç duyar.

Link ( /usr/bin/python), ad ( python) ve yol ( /usr/bin/python3) var, önceliğinizi kaçırıyorsunuz.

update-alternatives --help diyor:

<öncelik> bir tam sayıdır; daha yüksek numaralı seçenekler otomatik modda daha yüksek önceliğe sahiptir.

Bu yüzden 100sonuna bir veya başka bir şey koyun


5

Yapmak

cd ~
gedit .bash_aliases

o zaman ikisinden birini yaz

alias python=python3

veya

alias python='/usr/bin/python3'

Dosyayı kaydedin, terminali kapatın ve tekrar açın.
Şimdi iyi olmalısın! bağlantı


5

Varsayılan python'u yeni yükseltilen python sürümüne değiştirmeye yardımcı olmak için aşağıdaki adımları izleyin. Benim için iyi çalıştı.

  • sudo apt-install python3.7 İstediğiniz python'un en son sürümünü yükleyin
  • cd /usr/bin Python'un kurulu olduğu kök dizini girin
  • sudo unlink pythonveya sudo unlink python3. Mevcut varsayılan python'un bağlantısını kaldır
  • sudo ln -sv /usr/bin/python3.7 python İndirilen yeni python sürümünü bağlayın
  • python --version Yeni python sürümünü kontrol edin ve gitmeniz iyi olur

3

Başka bir invazif olmayan, yalnızca mevcut kullanıcı yaklaşımı için:

# First, make $HOME/bin, which will be automatically added to user's PATH
mkdir -p ~/bin
# make link actual python binaries
ln -s $(which python3) python
ln -s $(which pip3) pip

python pip yeni bir kabukta hazır olacak.


2

python yolunu al

ls /usr/bin/python*

sonra python sürümünüzü ayarlayın

alias python="/usr/bin/python3"

0

Tüm kullanıcılar için çalışacak ubuntu 18.04'ün en iyi yolu

sudo vim /etc/bash.bashrc
add lines
alias python=python3
alias pip=pip3

Değişiklikleri kaydedin ve yeniden başlatın.

Yeniden başlattıktan sonra, sistemde sahip olduğunuz python 3 sürümü ve python 2.7 varsayılan olarak alınacaktır. Python 3'ün birden çok sürümüne sahipseniz, takma adda aşağıdakileri söyleyerek daha spesifik olabilirsiniz.

sudo vim /etc/bash.bashrc
add lines
alias python=python3.6
alias pip=pip3.6

0

Çıkarın python-is-python2:

sudo apt purge python-is-python2

Ve kurun python-is-python3:

sudo apt install python-is-python3

Yeni python3'e geçiş sürecini otomatikleştirecektir. İsteğe bağlı olarak kalan paketlerden daha sonra kurtulabilirsiniz:

sudo apt autoremove && sudo apt autoclean

0

Python 3.6.8'i Python 2.7'den Ubuntu 18.04'te varsayılan olarak değiştirmek için komut satırı aracını deneyebilirsiniz update-alternatives.

sudo update-alternatives --config python

"Python için alternatif yok" hatasını alırsanız, aşağıdaki komutu kullanarak kendiniz bir alternatif oluşturun:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

Yolu değiştir /usr/bin/python3İstediğiniz python sürümüne buna göre değiştirin.

Önceliği belirtilen son argüman, manuel alternatif seçim yapılmazsa en yüksek öncelik numaralı alternatifin ayarlanacağı anlamına gelir. Bizim durumumuzda öncelik 2 belirledik /usr/bin/python3.6.8ve bunun sonucunda/usr/bin/python3.6.8 olarak güncelleme-alternatifler komutu ile otomatik olarak varsayılan python sürümü olarak ayarlandı.

Aşağıdaki komutu kullanarak ve bir seçim numarası girerek yukarıda listelenen python alternatif sürümleri arasında istediğimiz zaman geçiş yapabiliriz:

update-alternatives --config python

-1

İlk olarak, bilgisayarınızda Python3'ün kurulu olduğundan emin olun

Terminalinize gidin ve şunu yazın:

cd ~/ ana dizininize gitmek için

.bash_profileHenüz kurulumunuzu yapmadıysanız, touch .bash_profile.bash_profile dosyanızı oluşturmak için yazın .

Veya open -e .bash_profiledosyayı düzenlemek için yazın.

alias python=python3.Bash_profile dosyasına kopyalayın ve kaydedin .

Terminalinizi kapatıp yeniden açın. Ardından, Python3'ün varsayılan sürümünüz olup olmadığını kontrol etmek için aşağıdaki komutu yazın :

python --version

Python 3.xy'nin varsayılan sürümünüz olduğunu görmelisiniz .

Şerefe!


bu yöntem, bu soru için tercih edilen yanıtta zaten açıklanmıştır. ve cevabınız hiçbir şeye katkıda bulunmaz.
2019
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.