Ik wil graag de nieuwste Python installeren, die 3.6 is op het moment van dit bericht. Echter, de repository zegt dat Python 3.4.2 de nieuwste versie is.
Ik'heb het geprobeerd:
$ sudo apt-get update
$ sudo apt-get install python3
python3 is already the newest version.
$ python -V
Python 3.4.2
Om te upgraden naar Python 3.6 op mijn Windows werkstation, heb ik simpelweg een exe gedownload, een paar keer op "next" geklikt, en het's klaar. Wat'is de juiste en officieel geaccepteerde procedure om Python 3.6 op Debian Jessie te installeren?
U kunt Python-3.6
op Debian 8 als volgt installeren:
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
Het wordt aanbevolen om make altinstall
te gebruiken volgens de officiële website.
Als u wilt dat pip
wordt opgenomen, moet u --with-ensurepip=install
toevoegen aan uw configure-aanroep. Voor meer details zie ./configure --help
.
Waarschuwing:
make install
kan de python binary overschrijven of maskeren.make altinstall
wordt daarom aanbevolen in plaats vanmake install
, omdat het alleenexec_prefix/bin/pythonversion
installeert.
Sommige pakketten moeten geïnstalleerd worden om bekende problemen te vermijden, zie: Common build problemen(bijgewerkt)
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
Alternatief van libreadline-dev:
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
Alternatief van openssl-devel:
sudo yum install compat-openssl10-devel --allowerasing
Update
U kunt de nieuwste python-x.y.z.tar.gz
downloaden van hier.
Om een standaard python versie in te stellen en er gemakkelijk tussen te wisselen, moet je je update-alternatives
updaten met de meerdere python versies.
Laten we zeggen dat je python3.7
hebt geïnstalleerd op debian stretch , gebruik het commando whereis python
om de binary (*/bin/python
) te lokaliseren. bijv:
/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5
Voeg de python versies toe:
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
De python3.7
met de 50
prioriteit is nu je standaard python , de python -V
zal afdrukken:
Python 3.7.0b2
Om tussen beide te wisselen, gebruik je:
update-alternatives --config python
Voorbeeld uitvoer:
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:
Je zou eens kunnen kijken naar pyenv
: https://github.com/yyuu/pyenv . Om te citeren uit de pyenv
tutorial op Amaral Lab:
Voorheen bekend als Pythonbrew, pyenv laat je de globale Python versie wijzigen, meerdere Python versies installeren, directory (project)-specifieke Python versies, en ja, virtuele python omgevingen ("virtualenvs"). Dit alles wordt gedaan op *NIX-stijl machines (Linux en OS X) zonder afhankelijk te zijn van Python zelf en het werkt op gebruikersniveau-er zijn geen sudo-commando's nodig.
Debian heeft geen Python 3.6 in zijn repositories. Hier's een momentopname van de huidige Python3 status:
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
U kunt deze bekijken hier.
U kunt 3.6 installeren vanaf broncode, of met iets als Linuxbrew voor een home directory installatie.