É seguro instalar versões mais novas do Python e do Git a partir do código-fonte?

3

Eu queria instalar versões mais recentes do Python e do Git no meu sistema. Eu eventualmente usei os comandos abaixo para compilar e instalar novas versões. No entanto, fui informado de que teria sido melhor usar make altinstall para Python. O que há de errado em instalar novas versões do jeito que eu fiz?

Instale o Python a partir da fonte:

mkdir ~/getpython; cd ~/getpython
wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
tar -xvf Python-3.4.2.tgz
cd Python-3.4.2.tgz
sudo apt-get install libssl-dev openssl
./configure
make
sudo make install

Instale o Git a partir da fonte:

mkdir ~/getgit; cd ~/getgit
sudo apt-get install libcurl4-openssl-dev libexpat1-dev asciidoc xsltproc xmlto docbook2x
git clone https://github.com/git/git
make prefix=/usr all doc info   #note this takes a few minutes
sudo make prefix=/usr install install-doc install-html install-info
    
por Still.Tony 06.02.2015 / 22:20

1 resposta

4

O principal problema aqui é que você sobrescreveu as bibliotecas gerenciadas pelo gerenciador de pacotes com seus próprios arquivos. Outros pacotes e scripts do sistema podem (no caso do Python, muito ) depender desses pacotes, potencialmente nas versões / correções dadas. Se você sobrescrever as bibliotecas do sistema, você corre o risco de quebrar o sistema.

O altinstall do Python evitará alguns desses problemas não ligando simbolicamente o comando python padrão, mas pode não evitar completamente a continuação do sistema ainda.

Se você deseja compilar versões mais novas, talvez seja melhor usar um prefixo diferente, como /opt ou o diretório inicial do usuário que executará esses programas. O Python inclui um mecanismo adicional para separar as bibliotecas do sistema dos requisitos do aplicativo na forma de virtualenvs .

Para instalar versões mais novas do Python para seu uso pessoal (em oposição à configuração de um servidor ou sistema multiusuário, eu recomendo as seguintes etapas. (As três primeiras são geralmente aplicáveis a qualquer pacote):

  1. ./configure --prefix=$HOME/.local configure para instalação no seu diretório pessoal
  2. make -j5 && make install compile com 5 processos, instale com base no prefixo de configuração
  3. Adicione export PATH="$HOME/.local/bin:$PATH" ao final do seu arquivo .bashrc para que os pacotes recém-instalados estejam no seu caminho. Inicie um novo terminal depois disso. type python3 mostrará python3 is /home/david/.local/bin/python3 .
  4. Crie um virtualenv ao iniciar um projeto usando o script pyvenv-3.4 fornecido pelo pacote. $HOME/.local/bin/pyvenv-3.4 /path/to/my_new_venv .
  5. Ative o virtualenv ao trabalhar em seu projeto: source /path/to/my_venv/bin/activate . Instalar pacotes lá com pip: pip install flask
por 06.02.2015 / 22:58