Я устал пытаться установить NumPy и Scipy для Phyton 2.7.5, мне нужна эта версия Python, потому что моя конечная цель - установить класс ( http://class-code.net/ ) и montepython ( http: // montepython .net / ).
(У меня есть Ubuntu 12.04)
Когда я пытался импортировать numpy или scipy, я каждый раз получаю следующую ошибку:
$ 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
Чтобы избавиться от ошибки, я попытался:
- Удовлетворить требование питона:
$ sudo apt-get install build-essential python-dev gfortran
- Установить с помощью apt-get:
$ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
- Установите требование с помощью пункта:
$ sudo pip install requests
- ... и попытался установить с помощью pip:
$ sudo pip install numpy
и$ sudo pip install scipy
- У меня уже есть среда var: в
export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH}
прошлый раз, когда я установил numpy и scipy (в более старой версии Ubuntu 10.x), это работало для меня. 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"
а затем установите их оба с помощью пипса, как в (4)Но теперь кажется, что сервер python-distribute.org не работает. Я получил следующую ошибку:
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'
Я также пытался установить NumPy и Scipy из Synaptic и Ubuntu программного центра
Я потерпел неудачу в каждой из этих попыток, и теперь я не знаю, что делать. Я что-то пропустил? Как я могу получить NumPy и Scipy правильно установлены для Python? Любая идея будет оценена.
когда я делаю
echo $PYTHONPATH
я получил
/usr/lib/python2.7/dist-packages
echo $PYTHONPATH
на ваш вопрос. Спасибо :-)$PYTHONPATH
я уже удалил свои определения.bashrc
, но у меня все еще есть определение где-то еще, потому что у меня все еще есть env var,$PYTHONPATH
для которого я получаю:bash: /usr/lib/python2.7/dist-packages:: No such file or directory
(двойное двоеточие) ....bashrc
файлexport PYTHONPATH=/usr/lib/python2.7/dist-packages
... Я делаю то, что сборка UCS4 / сборка UCS2 как @Rmano sugest, но у меня все еще возникает та же проблема в обоих случаях ...: \Ответы:
Хорошо, давайте следовать инструкции по установке :
Он говорит, что вам нужен Python 2.7 (который у вас уже есть):
Затем он говорит, что вам также нужен пакет numy, версия> = 1.4.1:
Как видите, у меня есть версия numy 1.7.1, поэтому давайте приступим к ее установке:
Теперь он говорит, что нам нужен Cython, давайте проверим, доступен ли этот пакет:
У нас это есть, мы устанавливаем это:
Пожалуйста, обратите внимание, что существуют и другие пакеты с зависимостью, которые также устанавливаются.
Как ни странно, нам также нужен модуль scipy:
Тестирование . Откройте python в терминале и введите следующее:
Выше, должно быть без ошибок. Если что-то пошло не так, зайдите и прочитайте руководство снова, вы забыли / пропустили шаг.
Загрузив исходники CLASS с их страницы, перейдите в каталог в терминале, распакуйте его и сделайте это:
Здесь мы будем ждать, пока не будет завершено. Как только это будет сделано, мы идем в каталог python и запускаем магию. Не переходя из каталогов, запустите это:
Теперь у нас установлен класс в нашем каталоге пользователей. Мы должны проверить это!
Все хорошо уютно, пока здесь.
Теперь время истины, загрузите taryball monthypython в свою директорию кода:
В инструкции по установке есть некоторые примечания , которые не имеют отношения к этому особому случаю (новая установка), но это может быть важно при обновлении montepython.
Это изменение важно. Вы помните, где вы установили КЛАСС? Теперь вы должны сказать Монте Пайтону, где это. В моем случае
/home/braiam/src/class_v2.0.2/class
, у вас может быть по-другому. Вы можете использоватьfind
для поиска:Что ж, теперь я изменяю
default.conf
файл, используя все, что вам нравится (я буду использовать nano) и изменяюroot
путь, так что весь файл будет выглядеть так:Сохраните файл и выйдите.
Тест монтепиона! Если все было в порядке, вы можете запустить
code/MontePython.py --help
вашу директорию montepythong, и все должно работать:С этим у вас есть montepython установлен и готов к работе!
источник
sudo
) или сделайтеsudo make uninstall
или, однако, программы будут удалены.