Quero instalar o tarball mais recente do Python no Ubuntu, baixado de http://python.org/download/ .
Essa é a maneira correta de instalar?
./configure
make
make install
Se não, como faço isso?
software-installation
python
mohammads
fonte
fonte
sudo apt-get install python-2.7 python-pip
sudo apt-get install python2.7
. Isso não é apenas mais fácil, é a única resposta correta, já que é a única maneira de lidar com a instalação de módulos python via apt-get e suas dependências.Respostas:
Primeiro, instale algumas dependências:
Faça o download usando o seguinte comando:
Extraia e vá para o diretório:
Agora, instale usando o comando que você acabou de tentar, usando
checkinstall
para facilitar a desinstalação, se necessário:Mude
version
para a versão que você precisa (version=2.7.1
ouversion=3.6.0
, por exemplo).fonte
sudo make install
e nãoaltinstall
para defini-la como a versão python padrãoCXX=g++ ./configure
se ./configure emite um aviso dizendo g ++ não foi encontradosudo apt-get install python
, a resposta mais complicada é "como instalar o python mais recente ", sendo a implicação "da fonte". Você terá o mesmo problema em qualquer sistema operacional, a menos que esteja instalando binários pré-compilados de terceiros, o que, novamente, é arriscado em qualquer sistema operacional (e varia muito entre diferentes sistemas operacionais). Também esta resposta é de 2012; para obter conselhos mais recentes, consulte askubuntu.com/questions/101591/…A menos que você realmente deseje compilá-lo, a maneira preferida é usar o PPA DeadSnakes para instalar versões do Python que não estão incluídas por padrão:
Outras versões, como
python2.4
oupython3.6
, etc. também estão disponíveis.fonte
really have a burning desire to compile it yourself
ppa
não é oficialmente aprovado, portanto a maneira mais segura é construir a partir do código-fonte. 2. isso resultará em um python global, para o qual ossudo
outros não podem modificar ou instalar pacotes, e não um local. 3. Vários pítons podem ser instalados localmente em diferentes locais, construindo a partir da fonte.apt-get install python2.7
Isso instala o python2.7 binário em vez do python ... feio !!Continuando a documentar isso para as versões mais recentes do Ubuntu 1 : para o servidor Ubuntu 16.04.1, o Python padrão é a versão 3.5 e o Python 2.7 não é instalado por padrão. Em uma nova instalação (observe que não há nem um
python
executável):Nota: antes de continuar, você provavelmente desejará fazer uma rápida
sudo apt-get update
,sudo apt-get upgrade
esudo apt-get dist-upgrade
(observe exatamente o que esses comandos estão realmente fazendo; estou assumindo uma nova instalação aqui).A instalação do python 2.7 é tão fácil quanto:
A saída inicial da instalação do python 2.7 é a seguinte:
Depois de instalar o python 2.7,
Mas ainda há um problema, já que você ainda não pode instalar os módulos PyPI via
pip
- por exemplo, se você deseja um notebook jupyter ou o mais recente scipy ou numpy (etc), você deseja instalarpip
e depois ospip install
mesmos e ainda voltar paraapt-get
instalar todas as dependências do sistema necessárias , como graphviz ou bibliotecas do sistema principal.Então, para instalar o pip, novamente, é tão fácil quanto
sudo apt-get install python-pip
:Você precisará
python-pip
do Python 2.7pip
epython3-pip
do Python 3pip
. A instalação viaapt-get
é certa para instalar as dependências necessárias; por exemplo, aqui está a saída para instalar o pip2:Uma coisa interessante acontece como resultado disso: agora você tem o "padrão" (e o PEP recomendado)
python2
epython3
(que são apenas links simbólicos para python 2.7 e python 3.5):Você também vai querer
sudo apt-get install python3-pip
; Antes de instalar, você tem:Após a instalação
pip3
,As versões resultantes:
E uma última coisa antes de poder começar a instalar todos os seus módulos PyPI python favoritos: você provavelmente precisará atualizar o próprio pip (tanto o pip2 quanto o pip3, separadamente; além disso, não importa se
pip
é invocado pelospython
executáveis ou pelopip
executáveis, as atualizações reais são armazenadas em/usr/lib
):Agora você pode executar
pip
a versão autônoma ou agrupada empython
(viapython -m pip {command}
).[1] Recapitulação histórica: o Ubuntu mais antigo tinha apenas o Python 2.6, portanto, todos os vários métodos para instalar o Python 2.7+. Mais tarde, depois que o Python 2.7 foi adicionado aos repositórios públicos, ainda tínhamos o mesmo desafio de instalar o Python 2.7 mais recente com as correções mais recentes, o que era (também) frequentemente necessário. Hoje, a situação é muito melhor / mais simples: os atuais Python 2.7 e 3.5 (basicamente as duas únicas versões da plataforma Python com as quais as pessoas se preocupam) que estão agora nos repositórios públicos são muito estáveis, então agora só precisamos nos preocupar em instalar as versões mais recentes. módulos python , não o python mais recente . Então agora o "problema da versão mais recente" do Python saiu parcialmente dos repositórios de SO
apt
e para o PyPI &pip
.)fonte
$PATH
. O env varPATH
é uma longa lista de diretórios com literalmente milhares de arquivos. Para acelerar a localização do executável, o shell usa uma hashtable em cache para uma pesquisa rápida. Poderia tornar-se obsoleto, por isso "hash" permite que você saiba que ele é "lembrado" este comando mapeado para o arquivo executável unix.stackexchange.com/questions/5609/...pip
(2.7) epip3
(3.x) foram completamente instalado / atualizado, e não apenas o ex - ie,sudo apt-get install python-pip python3-pip
esudo -H python2 -m pip install --upgrade pip
esudo -H python3 -m pip install --upgrade pip
... Ou se ele realmente é um problema de permissão (indicado por "ele trabalha com sudo "), então será um pouco mais difícil rastrear.12.04
Se você está seguindo a resposta de Achu , o termo
libread5-dev
deve ser alterado paralibreadline-gplv2-dev
. Portanto, o comando completo seria:fonte
Você também pode fazer o download e instalá-lo via pyenv
fonte
pyenv-virtualenv
plug - in, facilitando a instalação de aplicativos com diferentes requisitos de módulo sem conflitos.bash --login
), que não é sempre fácil de alcançar, por exemplo, da Ansible. Melhor para uso interativo, menos bom para servidores de script.Principalmente um espelho dessa resposta com uma introdução aprimorada
Eu recomendaria pyenv . Ele automatiza o processo de compilação, além de instalar as dependências do cabeçalho (veja abaixo). 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.Ao contrário de algumas das opções baseadas em apt-repo (por exemplo, deadsnakes), geralmente funcionará no mesmo dia de um lançamento após um
pyenv update
porque você não precisa esperar que outra pessoa o empacote. Veja todas as versões com as quais você pode instalarpyenv install --list
Instale o pyenv
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:
Execute o script do instalador (instala o pyenv e alguns plugins pyenv muito úteis do autor original; veja aqui para mais informações)
Adicione linhas init ao seu
~/.profile
ou~/.bashrc
(ele menciona no final do script de instalação):Reinicie seu shell (feche e abra ou
exec $SHELL
) ou recarregue o script de perfil. (com por exemplosource ~/.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 oupip
instala!Instale sua versão preferida do Python (isso fará o download da fonte e a criará para o usuário, sem necessidade de entrada)
Torne um virtualenv para que você possa criar outras pessoas mais tarde, se quiser
Torne-o globalmente ativo (para seu usuário)
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_proj
soltará um.python-version
arquivo 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'
$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'
pyenv commands
.fonte