Como instalar o Python 3.6?

74

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

Eu 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 na minha estação de trabalho do Windows, simplesmente baixei um exe, cliquei em "next" algumas vezes e pronto. Qual é o procedimento adequado e oficialmente aceito para instalar o Python 3.6 no Debian Jessie?

    
por dtgq 25.12.2016 / 07:05

8 respostas

49

O Debian não possui o Python 3.6 em seus repositórios, mas o teste o possui.

$ sudo nano /etc/apt/sources.list
# add
deb http://ftp.de.debian.org/debian testing main
$ echo 'APT::Default-Release "stable";' | sudo tee -a /etc/apt/apt.conf.d/00local
$ sudo apt-get update
$ sudo apt-get -t testing install python3.6
$ python3.6 -V

Você pediu:

the proper and officially accepted procedure

mas devo salientar que esta não é uma solução oficial porque usa repositórios de teste.

    
por 27.01.2017 / 09:06
104

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

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
tar xvf Python-3.6.3.tgz
cd Python-3.6.3
./configure --enable-optimizations
make -j8
sudo make altinstall
python3.6

Recomenda-se usar make altinstall de acordo com o site oficial .

Se você quiser que pip seja incluído, adicione --with-ensurepip=install à sua chamada de configuração. Para mais detalhes, consulte ./configure --help .

Warning: make install can overwrite or masquerade the python binary. make altinstall is therefore recommended instead of make install since it only installs exec_prefix/bin/pythonversion.

Alguns pacotes precisam 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

Alternative of 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

Alternative of openssl-devel:

sudo yum install compat-openssl10-devel --allowerasing

Atualizar

Você pode fazer o download do último python-x.y.z.tar.gz de aqui .

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

Digamos que você tenha instalado o python3.7 no debian stretch, use o comando whereis python para localizar o binário ( */bin/python ). e, g:

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

Adicione as versões do 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 é seu python padrão, o python -V será impresso:

Python 3.7.0b2

Para alternar entre eles, use:

update-alternatives --config python

Exemplo de saída:

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: 
    
por 25.12.2016 / 11:01
25

A recomendação oficial é "você não precisa de software mais recente"

Não sofra de síndrome do novo material brilhante - DontBreakDebian | Wiki do Debian

A maioria dos conselhos nessa página é voltada para o que fazer se você quiser que o software esteja disponível em todo o sistema, mas não acho necessário nesse caso.

Se você buscar as fontes python, construa o interpretador 3.6 usando --prefix para controlar onde ele acaba, e então use virtualenv com a opção --python , então você pode usar o python 3.6 sem afetar nada fora do seu projeto .

O processo pode ser algo assim:

$ cd ~
$ mkdir pythonroot
$ mkdir opt
$ mkdir app
$ cd opt
$ wget <python tarball>
$ tar -xvf <python tarball>
$ cd python-3.6
$ ./configure --prefix="$HOME"/pythonroot
$ make
$ make install
$ cd ~
$ cd app
$ virtualenv venv --python ~/pythonroot/bin/python
$ . venv/bin/activate
[venv]$ which python
/home/<user>/pythonroot/bin/python

Se você for fazer isso, considere a --enable-optimizations flag no script configure do Python, que parece ativar alguns recursos como a otimização orientada por perfil. Aumenta os tempos de construção, mas parece resultar em um intérprete mais rápido em cerca de 10% de acordo com alguns benchmarks.

    
por 12.03.2017 / 19:48
9

Você pode querer dar uma olhada no pyenv : link . Para citar o tutorial pyenv no Laboratório Amaral:

Previously known as Pythonbrew, pyenv lets you change the global Python version, install multiple Python versions, set directory (project)-specific Python versions, and yes create/manage virtual python environments ("virtualenvs"). All this is done on *NIX-style machines (Linux and OS X) without depending on Python itself and it works at the user-level–no need for any sudo commands.

    
por 25.12.2016 / 09:52
7

Minha maneira preferida é usar Anaconda ou Miniconda para manter a versão mais recente do python e dos pacotes instalados no Debian.

Tudo é guardado em uma pasta, o que facilita a remoção mais tarde, se você desejar. O instalador também adiciona o caminho ao seu bashrc (adicione você mesmo se usar outro shell).

Ele vem com pip, e também conda, que é outro gerenciador de pacotes que pode ser bom para pacakges mais complexos como numpy. O Miniconda é uma instalação básica, e o Anaconda é uma instalação completa com muitos pacotes, projetados principalmente para análise de dados.

Rapidamente:

wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

Leia e aceite a licença, se você não estiver usando o caminho de adição do bash: export PATH="/home/$USER/miniconda3/bin:$PATH"

Teste:

$ python --version
Python 3.6.0 :: Continuum Analytics, Inc.

Instalar do PyPi:

# pip install fava

Instalar da conta:

# conda install numpy

Quando você quiser excluí-lo, remova a pasta ~/miniconda3 e o caminho no seu bashrc.

    
por 24.05.2017 / 20:55
4

O Debian não possui o Python 3.6 em seus repositórios. Aqui está um instantâneo do status atual 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 verificar essas aqui .

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

    
por 25.12.2016 / 07:30
2

Com isso

sudo echo "http://ftp.fr.debian.org/debian testing main" >> /etc/apt/sources.list

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

Trabalhe com sucesso.

Mais: set python3.6 como padrão

sudo alias python=/usr/bin/python3.6

Agora mesmo:

python --version
Python 3.6
    
por 17.01.2018 / 15:08
1

O Python 3.6 (apesar de rc1 ) acabou de chegar ao experimental do Debian. Eu consegui construir isso com sucesso no Debian estável (jessie). Veja os passos finais da construção colada abaixo.

No entanto, isso não significa que ele será instalado com êxito e não causará problemas. Um próximo passo razoável seria testá-lo em uma VM de teste estável. Se alguém se importar, eu poderia tentar - ou alguém poderia tentar.

Uma versão de lançamento apropriada deve chegar na instável Debian em breve.

dh_builddeb -a
dpkg-deb: building package 'python3.6' in '../python3.6_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'python3.6-venv' in '../python3.6-venv_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'libpython3.6-stdlib' in '../libpython3.6-stdlib_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'python3.6-minimal' in '../python3.6-minimal_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'libpython3.6-minimal' in '../libpython3.6-minimal_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'libpython3.6' in '../libpython3.6_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'python3.6-dev' in '../python3.6-dev_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'libpython3.6-dev' in '../libpython3.6-dev_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'python3.6-dbg' in '../python3.6-dbg_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package 'libpython3.6-dbg' in '../libpython3.6-dbg_3.6.0~rc1-1_amd64.deb'.
 dpkg-genchanges  >../python3.6_3.6.0~rc1-1_amd64.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build python3.6-3.6.0~rc1
dpkg-buildpackage: full upload (original source is included)
Now running lintian...
W: python3.6 source: newer-standards-version 3.9.8 (current is 3.9.6)
N: 56 tags overridden (26 errors, 27 warnings, 3 info)
Finished running lintian.
    
por 26.12.2016 / 10:58