Ubuntu: atualize o Scipy-stack para o Python 2.7

1

Sou muito novo no linux, então pode haver alguns erros óbvios no que segue.

Eu recentemente instalei a última versão do Ubuntu LTS ontem, e também o pyCharm (editor Python). Eu continuei atualizando o Scipy-stack seguindo o comando em seu site:

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

No entanto, agora no pyCharm, observo que o scipy não é atualizado. Vira que há várias instalações em python disponíveis:

$ sudo ls /usr/bin/python*
/usr/bin/python        /usr/bin/python2-config  /usr/bin/python3m
/usr/bin/python2       /usr/bin/python3     /usr/bin/python-config
/usr/bin/python2.7     /usr/bin/python3.4       /usr/bin/pythontex
/usr/bin/python2.7-config  /usr/bin/python3.4m      /usr/bin/pythontex3

$ which python
/usr/bin/python

Gostaria de usar python2.7 como minha referência python principal / padrão e também atualizar seus pacotes. Como faço isso?

    
por FooBar 12.11.2015 / 14:07

1 resposta

2

Na verdade, existem apenas duas instalações python por padrão. 2.7 e 3.4 aqui. Todos os pacotes python-* são construídos para o Python 2.7. Todos os pacotes python3-* são criados para o Python 3.4.

O que você está percebendo com a versão de scipy não tem nada a ver com o layout geral dessas instalações em Python, é sobre como o Ubuntu funciona . O Ubuntu não atualiza todos os pacotes para cada atualização que seus desenvolvedores enviam. Ele só atualiza pacotes quando há lançamentos de segurança ou coisas que o tornam drasticamente melhor. Isso fornece estabilidade para desenvolvedores que não desejam alterações de API / ABI em sistemas implantados.

Eu suspeito que você realmente não queira usar o sistema Python do Ubuntu, e sim usar um virtualenv . Eles usam o binário python (ou python3 ) do sistema, mas você pode possuir o restante do ambiente ( site-packages , etc). Isso lhe dá flexibilidade quase total para instalar qualquer versão do que for de pip , sem precisar de raiz, sem atropelar arquivos gerenciados pelo sistema.

Normalmente este é um caso de criar um virtualenv , "ativá-lo" e depois instalar seus pacotes:

virtualenv /path/to/venv  # or python3 -mvenv /path/to/venv
source /path/to/venv/bin/activate
pip install -U pip  # update pip
pip install -U numpy scipy matplotlib ipython ipython-notebook pandas sympy nose

Observe que os nomes desses pacotes podem não estar corretos acima, pip dirá a você.

Observe também que você provavelmente encontrará alguns erros sobre falta de dependências de compilação. Pacotes que você baixou do Ubuntu que precisam de compilação (a maioria desses pacotes de computação) foram pré-compilados. Você precisará conhecer suas dependências. Uma maneira suja de fazer isso é usar apt-get build-dep para as versões do Ubuntu. Se as dependências entre as versões do Ubuntu e do PyPi se desviarem, talvez seja necessário instalar outras coisas. Veja os documentos desse projeto para descobrir o que você precisa.

sudo apt-get build-dep python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

Tediously, isso irá instalar o build-deps para o Python 2 e 3, mas é apenas espaço em disco, certo? :) Você pode preencher as dependências manualmente se preferir.

    
por Oli 12.11.2015 / 14:22