Como instalar o Python 3.6?

I'gostaria de instalar o mais recente Python, que é 3.6 no momento deste post. No entanto, o repositório está dizendo que o Python 3.4.2 é a versão mais recente.

I'já tentei:

$ sudo apt-get update
$ sudo apt-get install python3

python3 is already the newest version.

$ python -V

Python 3.4.2

Para atualizar para o Python 3.6 em minha estação de trabalho Windows, eu simplesmente baixei um exe, cliquei "next" algumas vezes, e ele's feito. Qual'é o procedimento adequado e oficialmente aceito para instalar o Python 3.6 no Debian Jessie?

Você pode instalar o Python-3.6 no Debian 8 da seguinte forma:

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

É recomendado utilizar make altinstall de acordo com o site oficial.

Se você quiser que a pip' seja incluída, você precisa adicionar--com-ensurepip=install' à sua chamada de configuração. Para mais detalhes, veja `./configure --help'.

Atenção: 'make install' pode sobrepor ou mascarar o binário python. Portanto, make altinstall' é recomendado ao invés demake install', uma vez que apenas instala `exec_prefix/bin/pythonversion'.

Alguns pacotes precisam de ser instalados para evitar alguns problemas conhecidos, veja: Problemas comuns de compilação(atualizado)

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

Alternativa de 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

Alternativa de openssl-devel:

sudo yum install compat-openssl10-devel --allowerasing

**Actualização***

Você pode baixar o último python-x.y.z.tar.gz a partir de aqui.

Para definir uma versão python padrão e alternar facilmente entre elas , você precisa atualizar suas update-alternatives com a versão python múltipla.

Deixe's dizer que você instalou o python3.7 no debian stretch , utilize o comando whereis python para localizar o binário (*/bin/python). e,por exemplo:

/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5

Adicione as versões python:

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

O python3.7 com a prioridade 50 é agora o seu python padrão , o python -V irá imprimir:

Python 3.7.0b2

Para alternar entre eles, use:

update-alternatives --config python

Saída de amostra:

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  to keep the current choice[*], or type selection number: 
Comentários (13)

Você pode querer dar uma olhada no pyenv : https://github.com/yyuu/pyenv . Para citar o tutorial pyenv no Laboratório Amaral:

Anteriormente conhecido como Pythonbrew, pyenv permite que você mude o versão Python, instalar várias versões Python, definir diretório (projeto) - versões Python específicas, e sim criar/gerenciar virtuais ambientes python (" virtualenvs"). Tudo isso é feito no estilo *NIX máquinas (Linux e OS X) sem depender do próprio Python e funciona ao nível do utilizador sem necessidade de quaisquer comandos sudo.

Comentários (4)

O Debian não tem os repositórios Python 3.6 nele's. Aqui's um instantâneo do estado actual do Python3:

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

Você pode conferir estes aqui.

Você pode instalar o 3.6 a partir do código fonte, ou usando algo como Linuxbrew para a instalação de um diretório home.

Comentários (0)