Como isolar o Python 2.7.X no Ubuntu 12.04 que tem o padrão Python 2.7.3? [duplicado]

3

Eu quero construir o Python 2.7.8 na minha máquina Ubuntu 12.04, que tem o Python 2.7.3 como distribuição padrão. Eu gostaria de "instalar" o Python 2.7.8, mas isolá-lo completamente do Python 2.7.3 - o que significa que eu não quero interferir de forma alguma com o Python padrão da distribuição, incluindo módulos instalados via apt-get ou PIP.

Eu gostaria de fazer isso a partir do código-fonte, e eu gostaria de não usar o virtualenv - eu prefiro aprender a fazer isso da maneira mais difícil antes de usar ferramentas mais sofisticadas.

Uma segunda parte relacionada a esta questão é, depois de ter instalado o Python 2.7.8, como posso ter dois PIPs diferentes, os módulos padrão de instalação do Python para o Python 2.7.3, e os módulos de instalação alternativos para o Python 2.7.8. ?

Obrigado.

    
por jpf 28.09.2014 / 00:48

2 respostas

2

Primeiro, para ter certeza de que comecei com uma lista limpa, tomei as seguintes providências:

  • Pacote desinstalado xlwt (para teste), via sudo apt-get uninstall python-xlwt e pip uninstall xlwt
  • PIP desinstalado por meio de sudo apt-get uninstall python-pip
  • Feito diretório limpo de fontes python (~ / src / Python2.7.8) via make clean
  • Garantiu que pip não estava disponível via which pip (resultou em nada)

Para criar o Python 2.7.X e certificar-se de que o PIP esteja configurado apenas para essa instalação específica

  • (supondo que já tenha sido baixado e descompactado no diretório inicial, digamos ~/src/Python2.7.8 )
  • Crie dois diretórios para as opções --prefix e --exec-prefix configure, digamos ~/bld/python2.7.8_ind e ~/bld/python2.7.8_dep
  • Vá para o diretório de origem (por exemplo, ~ / src / Python2.7.8) e digite

    ./configure --prefix=/home/uname/bld/python2.7.8_ind --exec-prefix=/home/uname/bld/python2.7.8_dep
    
  • escreva make && make install

O binário python (ou um link simbólico para o binário) para esta instalação está localizado neste exemplo em /home/uname/bld/python2.7.8_dep/bin

  • Use esse binário para instalar o pip do link digitando %código%

Isso cria um diretório (anteriormente não extant) ~/bld/python2.7.8_dep/bin/python get-pip.py in bin e coloca os executáveis PIP lá que serão usados para esta instalação específica. Os pacotes PIP são colocados em ~/bld/python2.7.8_ind (que anteriormente estava vazio, salve um arquivo README).

Agora, para instalar o primeiro pacote nesta instalação específica do python,

Verifiquei que o diretório ~/bld/python2.7.8_ind/lib/python2.7/site-packages contém apenas pacotes adicionados durante a instalação do PIP (pip, setuptools, easy_install)

  • digite ~/bld/python2.7.8_ind/lib/python2.7/site-packages

Agora, o diretório ~/bld/python2.7.8_dep/bin/pip install xlwt contém um novo pacote (xlwt).

Agora, quando digito

~/bld/python2.7.8_dep/bin/python
>>> import xlwt

funciona e digitar ~/bld/python2.7.8_ind/lib/python2.7/site-packages e python produz um erro (conforme esperado). Verifique também se o caminho pesquisado por pacotes pela nova instalação do python está correto com

~/bld/python2.7.8_dep/bin/python
>>> import site
>>> site.getsitepackages()

Todo este processo pode ter sido óbvio para não-iniciantes, mas eu sou um novato, então escrevi tudo.

    
por jpf 29.09.2014 / 19:15
0

Instale-o em / usr / local

./configure --prefix=/usr/local
    
por Panther 28.09.2014 / 00:51

Tags