Estou cansado de tentar instalar numpy e scipy para o phyton 2.7.5, preciso desta versão do python porque meu objetivo final é instalar as classes ( http://class-code.net/ ) e montepython ( http: // montepython .net / ).
(Eu tenho o ubuntu 12.04)
Quando tentei importar numpy ou scipy, sempre recebo o seguinte erro:
$ phyton2.7
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in <module>
import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 4, in <module>
from type_check import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 5, in <module>
import multiarray
ImportError: /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS4_AsUnicodeEscapeString
>> import scipy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/scipy/__init__.py", line 78, in <module>
from numpy import show_config as show_numpy_config
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in <module>
import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 4, in <module>
from type_check import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 5, in <module>
import multiarray
ImportError: /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS4_AsUnicodeEscapeString
Para me livrar do erro, tentei:
- Satisfazer os requisitos de python:
$ sudo apt-get install build-essential python-dev gfortran
- Instale com o apt-get:
$ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
- Instale o requisito com o pip:
$ sudo pip install requests
- ... e tentou instalar com o pip:
$ sudo pip install numpy
e$ sudo pip install scipy
- Eu já tenho o ambiente var:
export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH}
a última vez que instalei o numpy e o scipy (na versão anterior do ubuntu 10.x) funcionou para mim. sudo sh -c "wget http://python-distribute.org/distribute_setup.py -O- | python"
sudo sh -c "wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py -O- | python"
e instale os dois com pip como em (4)Mas agora parece que o servidor de python-distribute.org está inativo. Eu recebi o seguinte erro:
http://python-distribute.org/distribute_setup.py Resolving python-distribute.org (python-distribute.org)... failed: Name or service not known. wget: unable to resolve host address `python-distribute.org'
Eu também tinha tentado instalar numpy e scipy do synaptic e do Ubuntu software center
Eu falhei em cada uma dessas tentativas e agora não sei o que fazer. Estou esquecendo de algo? Como posso instalar o numpy e o scipy corretamente para python? Qualquer ideia será apreciada.
quando eu faço
echo $PYTHONPATH
eu recebo
/usr/lib/python2.7/dist-packages
fonte
echo $PYTHONPATH
sua pergunta. Obrigado :-)$PYTHONPATH
eu já apaguei minhas definições.bashrc
, mas ainda tenho uma definição em outro lugar porque ainda tenho o env var$PYTHONPATH
para o qual recebo:bash: /usr/lib/python2.7/dist-packages:: No such file or directory
(dois pontos duplos) ....bashrc
arquivoexport PYTHONPATH=/usr/lib/python2.7/dist-packages
... Faço o que o UCS4 build / UCS2 compilam como @Rmano suger, mas continuo tendo o mesmo problema em ambos os casos ...: \Respostas:
Ok, vamos seguir o guia de instalação :
Diz que você precisa do python 2.7 (que você já possui):
Então diz que você também precisa do pacote numpy, versão> = 1.4.1:
Como você pode ver, eu tenho a versão numpy disponível 1.7.1, então vamos prosseguir com a instalação:
Agora ele diz que precisamos de cython, vamos verificar se esse pacote está disponível:
Nós temos, instalamos:
Por favor, observe que existem outros pacotes dependentes que estão sendo instalados também.
Curiosamente, também precisamos do módulo scipy:
Teste . Abra o python em um terminal e digite o seguinte:
O acima, tem que ser sem erros. Se algo der errado, suba e leia o guia novamente, você esqueceu / pulou um passo.
Fazendo o download das fontes CLASS de sua página, vá para o diretório no terminal, descompacte-o e faça-o:
Aqui vamos esperar até que esteja completo. Feito isso, vamos ao diretório python e iniciamos a mágica. Sem sair dos diretórios, execute o seguinte:
Agora temos o CLASS instalado em nosso diretório de usuários. Nós devemos testá-lo!
Tudo é agradável e acolhedor até aqui.
Agora, na hora da verdade, baixe o arquivo monthypython tarball no diretório de código:
Nas instruções de instalação estão algumas notas que não são relevantes neste caso peculiar (uma nova instalação), mas isso pode ser importante quando você atualiza o montepython.
Essa mudança é importante. Você se lembra onde você instalou o CLASS? Agora você deve dizer ao Monte Python onde é isso. No meu caso
/home/braiam/src/class_v2.0.2/class
, o seu pode ser diferente. Você pode usarfind
para procurá-lo:Bem, agora eu modifico o
default.conf
arquivo usando o que quiser (usarei o nano) e modifico oroot
caminho, para que o arquivo completo tenha a seguinte aparência:Salve o arquivo e saia.
Teste montepython! Se tudo estiver ok, você poderá executar
code/MontePython.py --help
no diretório montepythong e tudo deverá executar:Com isso, você tem o montepython instalado e pronto para rodar!
fonte
sudo
) ou façasudo make uninstall
ou, no entanto, os programas serão desinstalados.