Ubuntu'da Python3 varsayılan versiyonunu değiştirin


72

Ubuntu 16.04 LTS kullanıyorum. Ben python3kurdum Yüklü iki sürümü var python 3.4.3ve python 3.6. Ne zaman python3komut kullansam , python 3.4.3varsayılan olarak gerekir. Ben kullanmak istiyorum python 3.6ile python3.

python3 --version gösterileri version 3.4.3

ansibleHangi desteği yüklüyorum version > 3.5. Bu yüzden ne zaman terminalde bir yazı yazabilirim, hata nedeniyle hata yapıyor.python 3.4


Python 3.6'yı çalıştırmak için kullanılan komut nedir?

komut: - python3.6
kodeklue aralık

3
Ne sudo update-alternatives --config python3diyorsun
Mikael Kjær

1
güncelleme alternatifleri: hata: python3 için alternatif yok
codeclue

Belirli bir python3 sürümü ile uyumlu nasıl kullanılacağı konusundaki cevabımdaki yorumuma bakınız. Python 3.4'ü kaldırmayı da düşünebilirsiniz.
Mikael Kjær

Yanıtlar:


96

Yorumdan:

sudo update-alternatives --config python

Size bir hata gösterecek:

update-alternatives: error: no alternatives for python3 

Güncellemeniz gerekir update-alternatives, sonra varsayılan python versiyonunuzu ayarlayabilirsiniz.

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2

O zaman koş :

sudo update-alternatives --config python

Python3.6'yı varsayılan olarak ayarlayın.

Veya python3.6'yı varsayılan olarak ayarlamak için aşağıdaki komutu kullanın:

sudo update-alternatives  --set python /usr/bin/python3.6

1
Bu cevap muhtemelen kırılacak apt. Farklı bir python sürümü seçtikten sonra çalıştırmayı deneyin sudo apt update. Size ModuleNotFoundError: No module named 'apt_pkg'gitmek /usr/lib/python3/dist-packagesve sembolik bağlantı oluşturmak istediğiniz gibi bir hata veriyorsa ln -s apt_pkg.cpython-{34m,36m}-x86_64-linux-gnu.so.
Giacomo Alzetta,

Bana bir hata veriyor: $ sudo update-alternatives --set python /usr/bin/python3.6 update-alternatives: error: no alternatives for pythonHerhangi bir öneriniz?
Slava Fomin II

1
@ GAD3R Teşekkürler. Python 3.6'ya işaret etmek için elle bir sembolik bağlantı kurmayı başardım. Ayrıca, 3.7 yüklü değil.
Slava Fomin II

Yapımı python3için gelin python3.8bu yöntem kırdı ile gnome-terminalbenim için.
Boris,

10

Bunu aşağıdaki basit adımları uygulayarak başarabilirsiniz:

  1. Terminaldeki python sürümünü kontrol edin - python --version
  2. Kök kullanıcı ayrıcalıklarına sahip olun. Terminal tipinde -sudo su
  3. Kök kullanıcı şifresini not alın
  4. Python 3.6'ya geçmek için bu komutu yürütün -
    update-alternatives --install /usr/bin/python python /usr/bin/python3 1
  5. Python sürümünü kontrol et - python --version
  6. Bitti.

1
Çalışır, okunması kolaydır ve takma adı kullanmaz. +1
Carlos Pinzón

18.04 Ubuntu'da iyi çalışıyor. diğer çözümlerden çok basit. çok teşekkürler
Mohammad Heydari

7

/ Usr / bin / python3 için sembolik bağlantı oluşturun. Benim LinuxMint'imde:

# ls -lh /usr/bin/python3 /usr/bin/python
lrwxrwxrwx 1 root root 9 ноя 24  2017 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root 9 сен  6  2017 /usr/bin/python3 -> python3.5

# mv /usr/bin/python
# cp /usr/bin/python3 /usr/bin/python
# python --version
Python 3.5.2

6

bu komutları kullanmak size yardımcı olabilir:

  1. python sürümünü kontrol edin: ls /usr/bin/python*
  2. takma: alias python='/usr/bin/pythonxx'
  3. Tekrar-giriş: . ~/.bashrc
  4. python sürümünü tekrar kontrol edin: python --version

teşekkürler ama bilgisayarı yeniden başlattıktan sonra ana python hala eski python olacaktı 2.7
Mohammad Heydari

3

Kolay bir cevap python3.6 için bir takma ad eklemek olacaktır.

Bu satırı ~ / .bashrc: dosyasına ekleyin alias python3="python3.6", sonra terminalinizi kapatın ve yeni bir tane açın. Şimdi yazdığınızda python3 xxxçevrilecek python3.6 xxx.

Bu çözüm sisteminizi çok fazla tweak etmeye gerek kalmadan probleminizi çözer.

DÜZENLE :

Mikael Kjær'ın belirttiği gibi , bu sisteminizle uyumlu bir yanlış yapılandırmadır.

Burada görüldüğü gibi :

Set ansible_python_interpreter/ usr / bin / python3 yapılandırma seçeneği. Ansible_python_interpreter yapılandırma seçeneği genellikle bir ana bilgisayar veya ana bilgisayar grubuyla ilişkilendirilmiş bir envanter değişkeni olarak ana bilgisayar başına ayarlanır:

  # Example inventory that makes an alias for localhost that uses python3
  [py3-hosts]
  localhost-py3 ansible_host=localhost ansible_connection=local

  [py3-hosts:vars]
  ansible_python_interpreter=/usr/bin/python3

Config dosyası hakkında burada görüldüğü gibi :

Aşağıdaki sırayla işlenecek olan bir yapılandırma dosyasında değişiklikler yapılabilir ve kullanılabilir:

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg

Aslında, sadece> python 3.5
codeclue

1
ansible_python_interpreterPython3.6'nızı kullanmak için değişkeni ayarlayabilirsiniz . docs.ansible.com/ansible/latest/python_3_support.html
Mikael Kjær

@ MikaelKjær Yorumunuzu yanıtınıza

1

Sisteminizde birden fazla python sürümü varsa. Sadece içindeki python sembolik bağlantısını güncellemeniz gerekir/usr/bin/

root@irshad:/usr/bin# ls -lrth python*
lrwxrwxrwx 1 root root    9 Apr 16  2018 python -> python2.7
-rwxr-xr-x 1 root root 3.6M Nov 12  2018 python2.7
-rwxr-xr-x 2 root root 4.4M May  7 14:58 python3.6

Yukarıdaki örnekte çıktılarını görürseniz python2.7python --version alırsınız.

Şimdi aşağıdaki komutu kullanarak python sembolünü güncelleyin.

root@irshad:/usr/bin# unlink python
root@irshad:/usr/bin# ln -s /usr/bin/python3.6 python
root@irshad:/usr/bin# python --version
Python 3.6.8

0

güncelleme alternatifleri, sistem sembolik bağlantılarını kullanıcı tanımlı / yönetici tanımlı sembolik bağlantılara değiştirmektir. Sisteminizde kurulu python3'ün çoklu sürümleri varsa ve python3 çağrıldığında hangi python3 sürümünü çağırmanız gerektiğini kontrol etmek istiyorsanız. Aşağıdakileri yapın

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.4 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2

Gelecekte önceliği değiştirmek istiyorsanız aşağıdaki komutu çalıştırın.

update-alternatives --config python3

Açıklama: -

sudo update-alternatives --install <symlink_origin> <name_of_config> <symlink_destination> <priority>

Name_of_config değişikliğini python4 olarak devam ettirebilirsiniz, ancak daha sonra yeniden yapılandırma için python4 ile güncelleme seçeneklerini --config çağırmanız gerekir.

Bu yaklaşımı kullanarak, sistem python sürümünü ve python3 sürümünü ayrı olarak kontrol edebilirsiniz.


0

ilk çek sen python3.6 klasörü

ls /usr/bin/python3.6

python3.6 gibi bir klasör varsa gitmek için iyi

sonra güncelleme alternatifleri

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1

Şimdi python3 için yeni config güncelleme

sudo update-alternatives --config python3

python sürümünü kontrol et

python3 --version


0

Simbolik linki ln -sf python3.6 python3içeriden değiştirebilirsiniz /usr/bin. Bununla aradığınızda python3bu yürütecekpython3.6

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.