Apt-get kullanarak Python 3.6'yı nasıl kurarım?


363

Normal yoldan denedim sudo apt-get install python3.6, ama ... şey ... işe yaramadı.

Peki bu konuda nasıl gidebilirim? (Tercihen kendi başıma yapmam)

Ubuntu 16.04 kullanıyorum.


5
Belki python 3.6 dağıtımınız için mevcut değildir. Eğer kurduysanız aptitude, koşmakaptitude search python3
ridgy

Yanıtlar:


525

Ubuntu 14.04 (Güvenilir), 16.04 (Xenial)

Ubuntu 14.04 veya 16.04 kullanıyorsanız, Felix Krull'un deadsnakes PPA'sını https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa adresinde kullanabilirsiniz :

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

Alternatif olarak, J Fernyhough's PPA'sını https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 adresinde kullanabilirsiniz :

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

Ubuntu 16.10, 17.04

Ubuntu 16.10 veya 17.04 kullanıyorsanız, Python 3.6 evren deposundadır, yani sadece koşabilirsiniz:

sudo apt-get update
sudo apt-get install python3.6

Ubuntu 14.04, 16.04, 16.10 ve 17.04 kurulumundan sonra

Python 3.6 tercümanını çağırmak için çalıştırın python3.6.

Ubuntu 17.10 ve 18.04 (Biyonik)

Ubuntu 17.10 ve 18.04 zaten varsayılan olarak Python 3.6 ile birlikte geliyor. Sadece python3onu çağırmak için koş .


5
Ubuntu 16.10'daki python3.6'nın bazı problemleri olan bir beta sürümüdür ( dictbazı nadir durumlarda ortaya çıkan çok acı verici bir bellek sızıntısı gibi ).
Marius Gedminas

102
DİKKAT - Hiçbir koşulda çalıştırılmayasudo apt remove python3.5veya benzeri bir şeylereözen göstermeyin; Python, Ubuntu'da düşündüğünüzden daha temel bir şekilde pişirilir ve Ubuntu kurulumunuzu bozabilirsiniz. İstersenizpython3eşlemekpython3.6yerine sembolik bağlantı oluşturmak!
Huw Walters

19
python3.6-pipPaket olmadığını görüyorum ve bu yüzden curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6de yüklerdim pip.
Acumenus

5
Her nasılsa python ppa:jonathonf/python-3.6kırılmış pip ile geldi ve 14.04 'te easy_install yok. Ancak, curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipbirisinin aynı problemle karşılaşması durumunda easy_install'ı kurup sonra
pip'i

6
Yukarıdaki diğer bazı yorumcular gibi ben de pipyüklenirken sorun yaşadım ppa:jonathonf/python-3.6. Öte yandan, ppa:deadsnakes/ppakusursuz çalıştı ( apt-get install python3.6 python3.6-venv -y).
Michael Herrmann

133

Sıkıntılarını çözmek için pyenv'i tavsiye ederim . Bu yetenek kullanmaz ve yok "kendin bina" dahil, ancak oluyor tam otomatik . Python'un yeni (veya eski) bir sürümünü basitçe söyleyerek oluşturabilir ve yükleyebilirsiniz pyenv install 3.6.0. Her şey kullanıcı olarak çalışır, bu yüzden Ubuntu'nun kullandığı Python'u karıştırmaktan endişelenmenize gerek yoktur .

Ayrıca, takip sorusunun cevabı "apt-get kullanarak Python 3.7'yi nasıl kurarım?" Aynı cevabı var: pyenv update; pyenv install 3.7.0. Genellikle sürümün aynı gününde çalışır, çünkü Ubuntu için başka birinin paketlemesini beklemeniz gerekmez. Yükleyebileceğiniz tüm sürümleri görünpyenv install --list

Pyenv yükleyin

  1. CPythons oluşturmak için gerekli araçları ve başlıkları yükleyin (PyPy veya Jython gibi egzotik Pythons'ın başka bağımlılıkları olabilir). Git pyenv tarafından kullanılır, ayrıca kaynak dallarının kurulmasını / kurulmasını sağlar, böylece 3.8 olanı kurabilirsiniz, yani GitHub'tan yeni çıkan CPython'un ana kolu:

    sudo apt-get install -y git
    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libffi-dev libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
    
  2. Yükleyici betiğini çalıştırın (orijinal yazar tarafından pyenv ve çok kullanışlı bazı pyenv eklentileri yükler; daha fazla bilgi için buraya bakın )

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Kendinize init satır ekleyin ~/.profileveya ~/.bashrc(kurulum komut dosyasının sonunda belirtilir):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. Kabuğunu yeniden başlat (kapat ve aç veya exec $SHELL) veya profil komut dosyasını yeniden yükle. (örn. ile source ~/.bashrc)

Bitti!

Bir ortam kurmak

Python sistemine dokunmamak (genellikle kötü bir fikir; işletim sistemi düzeyinde servisler bazı kütüphane sürümlerine vb. Güveniyor olabilir) kendi ortamınızı yaratır, kolay! Daha da iyisi, hayır sudo, bunun için ya da pipyükler!

  1. Tercih ettiğiniz Python sürümünü kurun (bu işlem kaynağını indirir ve kullanıcı için oluşturur, giriş gerekmez)

    pyenv install 3.6.0
  2. Sanalenv yapın böylece daha sonra isterseniz diğerlerini de yapabilirsiniz

    pyenv virtualenv 3.6.0 general
  3. Küresel olarak aktif yap (kullanıcın için)

    pyenv global general
  4. İstediğinizi Python / pip, vb. İle yapın. Bu sizindir.

Kütüphanelerinizi daha sonra temizlemek istiyorsanız, virtualenv ( pyenv uninstall general) dosyasını silebilir veya yeni bir tane ( pyenv virtualenv 3.6.0 other_proj) oluşturabilirsiniz. Ayrıca, dizin başına aktif ortamlara sahip olabilirsiniz: pyenv local other_projbir .python-versiondosyayı geçerli klasörünüze bırakacak ve Python veya pip yüklü Python yardımcı programlarını çağırdığınızda veya altından veya altından çağırdığınızda, bunlar pyenv tarafından silinecektir.

Sorun giderme

  • bash: pyenv: command not found, fish: Unknown command 'pyenv'

    1. Çekinizin $PATH, şu şekilde biter bir giriş olmalıdır .pyenv/bin. Eğer eksikse, yukarıdaki pyenv'i kurun altında # 3 AND # 4'ü (kabuğunuzu yeniden başlatın) takip ettiğinizden emin olun .
  • pyenv: no such command 'virtualenv'

    1. Eğer yükleyici betiğini kullanmadıysanız, muhtemelen sadece root pyenv paketini yüklediniz. Eklenti ekleme talimatları için pyenv-virtualenv bölümüne bakın.
    2. Yükleyici komut dosyasını kullandıysanız, görünüp görünmediğini kontrol edin pyenv commands.

1
Python 2.x ile pyenv kullanırken (veya yeni Unicode string iç gösteriminden önce çok eski 3.x sürümleri) kullanıldığında bir uyarı vardır: pyenv, varsayılan giriş derleme bayraklarını kullanır ve 16 bit Unicode dizeleriyle oluşturur. Linux dağıtımları genellikle 32 bit Unicode dizeleriyle oluşturulur. Bu, pip tekerleğini önbelleğe aldığından dolayı, bazı maddeleri pyenv ve pyenv olmayan pitonlara taktığınızda ağrıya neden olur.
Marius Gedminas

@marius neden kurduktan sonra pyenv olmayan bir versiyon kullanıyorsunuz?
Nick T,

3
Bilmiyorum, ancak bu sorunu IRC'deki bir kişiye, belirli bir Python paketinin (lxml?) Bu nedenle çalışamadığı bir konuda hata ayıklama konusunda yardımcı olarak keşfettim. Bu yüzden pratikte bazı insanlara olur ve bilmeye değer. (Çözüm rm -r ~/.cache/pip/wheels/
geçicidir

1
Does pyenvPython ihtiyaç her kullanıcı için yüklü olması gerekir? Ve aynı Python 3.6 sürümüne ihtiyaç duyan 3 kullanıcım varsa, o zaman 3 kez derlemek zorunda kalacak ve 3x disk alanı alacak mı? Bu doğruysa, o zaman berbat…: /
Sarge Borsch

1
@SargeBorsch varsayılan olarak (pyenv-installer kullanıyorsanız) bir kullanıcı yüklemesidir, ancak yüklemenizi /optveya herhangi bir şekilde ve bazı sembolik bağlantılar eklemenizi engelleyen hiçbir şey yoktur /bin. Kullanıcının yalnızca son derece yararlı olmasını; kullanıcılar sudo'ya ihtiyaç duymazlar (lib'ler dışında). Disk alanı ucuz.
Nick T,

14

Hangi Ubuntu sürümünü kullandığınıza bağlıdır.

Ubuntu 16.10 ve Ubuntu 17.04

Python 3.6, Ubuntu 16.10 ve Ubuntu 17.04 evren deposuna kurulduğundan, python 3.6'yı doğrudan depodan kurabilirsiniz. Sadece aşağıdaki komutları kullanın:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Python3.6'yı Ubuntu 16.04'e kurmanın iki yolu vardır.

  • 16.04 Ubuntu'da python 3.6'yı derleyin ve kurun
  • Python 3.6'yı PPA'dan Ubuntu 16.04'e yükleyin.

1. Python 3.6'yı Ubuntu 16.04'te derleyin ve kurun

Gerekli bağımlılıkları kurun, python 3.6 kaynak kodunu indirin ve ortamı kurun ve kurun

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall

2. PPA'dan Ubuntu 16.04'e python 3.6 yükleyin

Aşağıdaki komutları kullanarak Python 3.6'yı PPA'dan yükleyebilirsiniz.

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6

Python 3.6 doğru bir şekilde kurulmuşsa, python3.6terminalde çalışarak python yorumlayıcısını çalıştırabilirsiniz .

Umarım bu yardımcı olur. Herhangi bir sorun yaşıyorsanız, bu blog gönderisini buradan kontrol edebilirsiniz .


2
Bu aslında kabul edilen cevabın bir kopyasıdır. Cevabınızın katma değeri nerede?
Marc Vanhoomissen

2
Ubuntu 16.04'teki ilk adım, nedense python 3.6'yı derlemek ve kurmak isteyenler içindir. Ubuntu 16.04'te Python 3.6'nın derlenmesi ve kurulması süreci kabul edilen cevapta ya da konuya ilişkin cevaplarda mevcut değildir. Diğer hususlar, Ubuntu'nun versiyonunu ve bunun kabul edilen diğer cevaplardan nasıl farklılaştığını netleştirmek.
Aryal Bibek

1
16.04'teki PPA yüklemeleri (Nane) bozuk görünüyor. Kaynak bilgisinden kurulum faydalıdır.
demirli kirpi

13

Çalışan bir repo bulamazsanız alternatif bir rota kendinizi kaynağından derlemeyi deneyebilirsiniz. Sen bulabilirsiniz indirme sayfasında kaynak kodunu . Sonra tarball'ı indirin ve açın; örneğin için Python-3.6.1.tgz.

Tgz dosyasını kaldırma işlemi şöyledir:

tar -xvzf /path/to/yourfile.tgz

Dosyanın açıldığı dosya yoluna girdikten sonra, şunu çalıştırın:

./configure
make
make altinstall

Ve umarım bu sizin için sorunu çözmelidir.


4
Soru diyor (id preferably not build it on my own). Belki de aptmümkünse rotaya gitmek daha iyi olur .
Wanderer

Tamam, size bir alternatif depo bulabilecek miyim bir bakayım. Google’da alternatif repolar için kendiniz inceleme şansınız oldu mu? Zaten denediğin şeyler önermek istemiyorum.
Tam Zamanında Berlake

Ben OP değilim. Sadece bir öneride bulunuyorum. 3.6 için herhangi bir PPA bulamadım, bu nedenle bina gerekli rota olabilir. Muhtemelen cevabında buna cevap vermelisin.
Wanderer

Make komutlarınız, çok fazla paket olması nedeniyle, kullanıcının hiçbir şey yapmadığı bir sistemde başarısız olacaktır. "sudo apt birikmesi esansiyel libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev yükle"
Joe

4

Ubuntu 15.10 için bu yöntemi kullanarak başarıyla yükledim:

sudo add-apt-repository ppa:jonathonf/python-3.6

Ancak bu dosyayı düzenledim:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

Ve ben değiştirdi kurnaz için güvenilir sonra ve:

sudo apt-get update
sudo apt-get install python3.6

12
Ubuntu 15.10? EOL aylar önce gitti. Yükseltme zamanı.
edwinksl


0

İlk olarak, Python 3.6 veya 3.7'yi yüklemek için diğer cevaplardan bazılarını izleyin. Gibi PyPi paketlerini yüklemek istiyorsanız Sonra, OpenEXR aracılığıyla pipbazı hatalar alabilirsiniz. Bunlardan bazıları (örneğin OpenEXR'in PyPi paketi için) yeni kurulan Python'unuz için Python geliştirme paketi yükleyerek çözülebilir. Bu, aşağıdakiler kullanılarak yapılabilir:

sudo apt-get install python3.6-dev

veya

sudo apt-get install python3.7-dev


0

Belki Conda'yı önermek kötü bir fikir değildir. Bence en azından pyenv kullanmaktan daha kolay. Ama belki de sonuçta Python ile ne yapmak istediğinize bağlı, çünkü Conda ile bazı ekstra paketler çıkarabileceğinizi düşünüyorum.

EDIT : Conda'nın Python'un varsayılan sürümünü yükledikten sonra, ihtiyacınız olan sürümü, 3.6 kullanarak conda,

conda install python==3.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.