Bu yazının yazıldığı sırada 3.6 olan en son Python'u yüklemek istiyorum. Ancak, depo Python 3.4.2'nin en yeni sürüm olduğunu söylüyor.
Denedim:
$ sudo apt-get update
$ sudo apt-get install python3
python3 is already the newest version.
$ python -V
Python 3.4.2
Windows iş istasyonumda Python 3.6'ya yükseltmek için sadece bir exe indirdim, birkaç kez "next" butonuna tıkladım ve işim bitti. Debian Jessie'ye Python 3.6 yüklemek için doğru ve resmi olarak kabul edilen prosedür nedir?
Debian 8 üzerinde Python-3.6
kurulumunu aşağıdaki şekilde yapabilirsiniz:
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar xvf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-optimizations --enable-shared
make -j8
sudo make altinstall
python3.6
Resmi web sitesine]1 göre make altinstall
kullanılması tavsiye edilir.
Eğer pip
in dahil edilmesini istiyorsanız, configure çağrınıza --with-ensurepip=install
eklemeniz gerekir. Daha fazla ayrıntı için ./configure --help
bölümüne bakın.
Uyarı: make install
python ikili dosyasının üzerine yazabilir veya gizleyebilir. Bu nedenle make install
yerine make altinstall
önerilir, çünkü sadece exec_prefix/bin/pythonversion
yükler.
Bilinen bazı sorunlardan kaçınmak için bazı paketlerin yüklenmesi gerekir, bkz: Yaygın derleme sorunları(güncellendi)
Ubuntu/Debian:
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev
libreadline-dev'in alternatifi:
sudo apt install libedit-dev
Fedora/CentOS/RHEL(aws ec2):
sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel libffi-devel
openssl-devel'in alternatifi:
sudo yum install compat-openssl10-devel --allowerasing
Güncelleme
En son python-x.y.z.tar.gz
sürümünü buradan indirebilirsiniz.
Varsayılan bir python sürümü ayarlamak ve bunlar arasında kolayca geçiş yapmak için update-alternatives
sürümünüzü birden fazla python sürümü ile güncellemeniz gerekir.
Diyelim ki debian stretch üzerine python3.7
yüklediniz, ikili dosyayı (*/bin/python
) bulmak için whereis python
komutunu kullanın. örn:
/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5
Python sürümlerini ekleyin:
update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 50
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 40
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 30
50önceliğine sahip
python3.7artık varsayılan python
unuzdur, python -V
yazdıracaktır:
Python 3.7.0b2
Bunlar arasında geçiş yapmak için şunu kullanın:
update-alternatives --config python
Örnek çıktı:
There are 3 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/local/bin/python3.7 50 auto mode
1 /usr/bin/python2.7 40 manual mode
2 /usr/bin/python3.5 30 manual mode
3 /usr/local/bin/python3.7 50 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Pyenvsayfasına bir göz atmak isteyebilirsiniz: https://github.com/yyuu/pyenv . Amaral Lab'daki
pyenv` eğitiminden alıntı yapmak gerekirse:
Daha önce Pythonbrew olarak bilinen pyenv, küresel Python sürümü, birden fazla Python sürümü yükleme, dizin ayarlama (projeye) özel Python sürümleri ve evet sanal oluştur/yönet python ortamları ("virtualenvs"). Tüm bunlar *NIX tarzı üzerinde yapılır Python'un kendisine bağlı olmadan makineler (Linux ve OS X) ve kullanıcı düzeyinde çalışır - herhangi bir sudo komutuna gerek yoktur.
Debian'ın depolarında Python 3.6 bulunmamaktadır. İşte mevcut Python3 durumunun bir anlık görüntüsü:
wheezy (oldstable) (python): interactive high-level object-oriented language (default python3 version)
3.2.3-6: all
jessie (stable) (python): interactive high-level object-oriented language (default python3 version)
3.4.2-2: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
stretch (testing) (python): interactive high-level object-oriented language (default python3 version)
3.5.1-4: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
sid (unstable) (python): interactive high-level object-oriented language (default python3 version)
3.5.1-4: alpha amd64 arm64 armel armhf hppa hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 m68k mips mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390x sh4 sparc64 x32
Bunları buradan kontrol edebilirsiniz.
3.6'yı kaynaktan ya da ev dizini kurulumu için Linuxbrew gibi bir şey kullanarak kurabilirsiniz.