Como instalo o Python 3.6 usando o apt-get?

363

Eu tentei da maneira normal sudo apt-get install python3.6, mas ... bem ... isso não funcionou.

Então, como eu iria fazer isso? (Eu preferencialmente não construí-lo por conta própria)

Estou usando o Ubuntu 16.04.

Olian04
fonte
5
Talvez o python 3.6 não esteja disponível para sua distribuição. Se você instalou aptitude, executeaptitude search python3
ridgy

Respostas:

525

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Se você estiver usando o Ubuntu 14.04 ou 16.04, pode usar o PPA de Felix Krull em https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :

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

Como alternativa, você pode usar o PPA de J Fernyhough em https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :

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

Ubuntu 16.10, 17.04

Se você estiver usando o Ubuntu 16.10 ou 17.04, o Python 3.6 estará no repositório do universo, para que você possa executar:

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

Após a instalação para o Ubuntu 14.04, 16.04, 16.10 e 17.04

Para chamar o interpretador Python 3.6, execute python3.6.

Ubuntu 17.10 e 18.04 (Bionic)

O Ubuntu 17.10 e 18.04 já vem com o Python 3.6 como padrão. Apenas corra python3para invocá-lo.

edwinksl
fonte
5
Observe que python3.6 no Ubuntu 16.10 é uma versão beta que tem alguns problemas (como um vazamento de memória muito doloroso dictque aparece em algumas circunstâncias raras).
Marius Gedminas
102
CUIDADO - Não tente, em nenhuma circunstância, corrersudo apt remove python3.5ou algo parecido; O Python é mais fundamentalmente incorporado ao Ubuntu do que você imagina, e você pode interromper a instalação do Ubuntu. Se você desejapython3mapearpython3.6, crie um link simbólico!
Huw Walters
19
Vejo que não há python3.6-pippacote e por isso costumava curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6instalar pip.
Acumenos
5
De alguma forma, o python ppa:jonathonf/python-3.6chegou com o pip quebrado e o easy_install no 14.04. No entanto, eu consegui consertá-lo instalando o easy_install e depois reinstalando o pip via curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipApenas no caso de alguém encontrar o mesmo problema ...
FirefoxMetzger
6
Como alguns outros comentadores acima, também tive problemas pippara instalar ppa:jonathonf/python-3.6. Por outro lado, ppa:deadsnakes/ppafuncionou perfeitamente ( apt-get install python3.6 python3.6-venv -y).
Michael Herrmann
133

Eu recomendaria pyenv para resolver seus problemas. Ele não usa de aptidão, e não envolvem "construir it yourself", mas é totalmente automatizado . Você pode criar e instalar uma versão nova (ou antiga) do Python simplesmente dizendo pyenv install 3.6.0. Tudo funciona como seu usuário, assim você não precisa se preocupar em estragar o Python usado pelo próprio Ubuntu.

Além disso, a resposta para a pergunta de acompanhamento "Como instalo o Python 3.7 usando o apt-get?" tem a mesma resposta: pyenv update; pyenv install 3.7.0. Geralmente funcionará no mesmo dia do lançamento, porque você não precisa esperar que outra pessoa o empacote para o Ubuntu. Veja todas as versões com as quais você pode instalarpyenv install --list

Instale o pyenv

  1. Instale ferramentas e cabeçalhos necessários para construir CPythons (Pythons exóticos como PyPy ou Jython podem ter outras dependências). O Git é usado pelo pyenv, além de permitir a criação / instalação de ramificações de origem, para que você possa instalar o que quer que seja o 3.8 atualmente, ou seja, a ramificação principal do CPython recém-lançada no GitHub:

    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. Execute o script do instalador (instala o pyenv e alguns plugins pyenv muito úteis do autor original; veja aqui para mais informações)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Adicione linhas init ao seu ~/.profileou ~/.bashrc(ele menciona no final do script de instalação):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
  4. Reinicie seu shell (feche e abra ou exec $SHELL) ou recarregue o script de perfil. (com por exemplo source ~/.bashrc)

Feito!

Configurando um ambiente

Para não tocar no sistema Python (geralmente uma péssima idéia; os serviços no nível do sistema operacional podem depender de algumas versões específicas da biblioteca etc.), crie seu próprio ambiente, é fácil! Ainda melhor, não sudo, por ele ou pipinstala!

  1. Instale sua versão preferida do Python (isso fará o download da fonte e a criará para o usuário, sem necessidade de entrada)

    pyenv install 3.6.0
  2. Torne um virtualenv para que você possa criar outras pessoas mais tarde, se quiser

    pyenv virtualenv 3.6.0 general
  3. Torne-o globalmente ativo (para seu usuário)

    pyenv global general
  4. Faça o que quiser com o Python / pip, etc. É seu.

Se você quiser limpar suas bibliotecas posteriormente, poderá excluir o virtualenv ( pyenv uninstall general) ou criar um novo ( pyenv virtualenv 3.6.0 other_proj). Você também pode ter ambientes ativos por diretório: pyenv local other_projsoltará um .python-versionarquivo em sua pasta atual e sempre que você invocar os utilitários Python ou Python instalados a partir dele ou sob ele, eles serão shimmed pelo pyenv.

Solução de problemas

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

    1. Verifique o seu $PATH, deve haver uma entrada que termina em algo como .pyenv/bin. Se estiver faltando, certifique-se de seguir os passos 3 e 4 (reinicie o shell) em Instalar pyenv acima.
  • pyenv: no such command 'virtualenv'

    1. Se você não usou o script do instalador, provavelmente instalou apenas o pacote root pyenv. Veja pyenv-virtualenv para obter instruções para adicionar o plugin
    2. Se você usou o script do instalador, verifique se ele aparece pyenv commands.
Nick T
fonte
1
Há uma ressalva, ao usar o pyenv com o Python 2.x (ou versões muito antigas do 3.x antes da nova representação interna da string Unicode): pyenv usa os sinalizadores de compilação upstream padrão e constrói com strings Unicode de 16 bits. As distros do Linux geralmente são construídas com cadeias Unicode de 32 bits. Isso causa problemas quando você instala algumas coisas nos Pythons pyenv e não pyenv, devido ao cache da roda pip.
Marius Gedminas
@ marius Por que você usaria uma versão não-pyenv depois de instalá-la?
Nick T
3
Não sei, mas descobri esse problema ajudando alguém no IRC a depurar um problema em que um pacote Python em particular (lxml?) Falhou ao funcionar devido a isso. Isso acontece na prática, para algumas pessoas, e vale a pena conhecer. (A solução é rm -r ~/.cache/pip/wheels/.)
Marius Gedminas
1
Será que pyenvprecisa ser instalado para cada usuário que precisa Python? E se eu tiver 3 usuários que precisam da mesma versão do Python 3.6, será necessário compilá-lo 3 vezes e ocupará espaço em disco 3x? Se isso é verdade, então é uma porcaria…: /
Sarge Borsch
1
O @SargeBorsch por padrão (se você usa o pyenv-installer), é uma instalação do usuário, mas não há nada impedindo a instalação /optou o que for e adicionando alguns links simbólicos /bin. Acho que apenas o usuário é extremamente útil; os usuários não precisam do sudo (exceto libs). O espaço em disco é barato.
Nick T
14

Depende da versão do Ubuntu que você está usando.

Ubuntu 16.10 e Ubuntu 17.04

Como o Python 3.6 está instalado no repositório universo do Ubuntu 16.10 e Ubuntu 17.04, você pode instalar diretamente o python 3.6 a partir do repositório. Basta usar os comandos abaixo:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Existem duas maneiras de instalar o Python3.6 no Ubuntu 16.04

  • Compile e instale python 3.6 no Ubuntu 16.04
  • Instale o python 3.6 no Ubuntu 16.04 a partir do PPA

1. Compile e instale o python 3.6 no Ubuntu 16.04

Instale as dependências necessárias, faça o download do código fonte do python 3.6, construa o ambiente e instale

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. Instale o python 3.6 no Ubuntu 16.04 a partir do PPA

Você pode instalar o Python 3.6 a partir do PPA usando os comandos abaixo

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

Se o Python 3.6 estiver instalado corretamente, você poderá chamar o interpretador python executando python3.6no terminal.

Eu espero que isso ajude. Se você estiver tendo algum problema, verifique esta postagem do blog aqui .

Aryal Bibek
fonte
2
Esta é essencialmente uma cópia da resposta aceita. Onde está o avaliador adicionado da sua resposta?
Marc Vanhoomissen
2
O primeiro passo no Ubuntu 16.04 é para quem deseja compilar e instalar o python 3.6 por algum motivo. O processo de compilação e instalação do Python 3.6 no Ubuntu 16.04 não está disponível na resposta aceita nem em nenhuma resposta do tópico. Os outros pontos são esclarecer a versão do Ubuntu e como ela difere de outras respostas aceitas.
Aryal Bibek
1
As instalações do PPA no 16.04 (Mint) aparecem quebradas. A instalação a partir das informações da fonte é útil.
ouriço demente
13

Uma rota alternativa se você não encontrar nenhum repositório de trabalho seria tentar compilar-se a partir do código-fonte. Você pode encontrar o código fonte na página de download . Então baixe e descompacte o tarball; por exemplo para Python-3.6.1.tgz.

O processo para descompactar o arquivo tgz é:

tar -xvzf /path/to/yourfile.tgz

Quando estiver no caminho do arquivo para o qual foi descompactado, execute:

./configure
make
make altinstall

E espero que isso resolva o problema para você.

Just In Time Berlake
fonte
4
Pergunta diz (id preferably not build it on my own). Talvez fosse melhor seguir o aptcaminho, se possível.
TheWanderer
Ok, vou dar uma olhada para ver se encontro algum repositório alternativo para você. Você já teve a chance de procurar no Google repositórios alternativos? Não quero sugerir coisas que você já tentou.
Just In Time Berlake
Eu não sou o OP. Apenas fazendo uma sugestão. Não encontrei nenhum PPAs para 3.6, portanto, a construção pode ser a rota necessária. Você provavelmente deve abordar isso na sua resposta.
TheWanderer
Seus comandos make falharão em um sistema em que o usuário nunca criou nada, pois há muitos pacotes necessários. "sudo apt instalar build-essential 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"
Joe
4

Para o Ubuntu 15.10, instalei-o com sucesso usando este método:

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

Mas eu editei este arquivo:

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

E mudei astuciosamente para confiável e depois:

sudo apt-get update
sudo apt-get install python3.6
hassan ketabi
fonte
12
Ubuntu 15.10? Foi EOL meses atrás. Hora de atualizar.
edwinksl
0

Primeiro, siga algumas das outras respostas para instalar o Python 3.6 ou 3.7. Então, se quiser instalar pacotes PyPI como OpenEXR através pipvocê pode obter alguns erros. Alguns deles (por exemplo, para o pacote PyPi do OpenEXR) podem ser resolvidos com a instalação do pacote de desenvolvimento Python para o seu Python recém-instalado. Isso pode ser feito usando o seguinte:

sudo apt-get install python3.6-dev

ou

sudo apt-get install python3.7-dev

Amir
fonte
0

Talvez sugerir Conda não seja uma má idéia. Eu acho que é pelo menos mais fácil do que usar pyenv. Mas talvez dependa do que você pretende fazer com o Python, afinal, porque acho que com o Conda você pode acabar com alguns pacotes extras.

EDIT : É provavelmente vale a pena mencionar que, depois de instalar a versão padrão do Conda de Python, você pode instalar a versão que você precisa, aqui 3.6, utilizando condacomo

conda install python==3.6
arsaKasra
fonte