Как установить NumPy и Scipy для Python?

Я устал пытаться установить 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

Чтобы избавиться от ошибки, которую я пытался :

  1. Требование удовлетворения Python: $ sudo apt-get install build-essential python-dev gfortran
  2. Установить с помощью apt-get: $ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
  3. Установить требование с помощью pip: $ sudo pip install requests
  4. [ 1117] ... и пытался выполнить установку с помощью pip: $ sudo pip install numpy и $ sudo pip install scipy
  5. У меня уже есть среда var: export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH} Когда я в последний раз устанавливал numpy и scipy (в более старой версии Ubuntu 10. х) это сработало для меня.
  6. 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" и затем установите их обоих с помощью pip, как в (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'
    
  7. Я также пытался установить numpy и scipy из программного центра synaptic и Ubuntu

У меня было не удалось в каждой из этих попыток, и теперь я не знаю, что делать. Я что-то пропустил? Как я могу получить NumPy и Scipy правильно установлены для Python? Любая идея будет оценена.

когда я делаю

echo $PYTHONPATH

я получаю

/usr/lib/python2.7/dist-packages
36
задан 4 March 2014 в 20:29

1 ответ

Хорошо, позволяет, следуют инструкции по установке:

  1. Это говорит необходимость в python 2.7 (который Вы уже имеете):

    $ python --version
    Python 2.7.4
    
  2. Затем это говорит необходимость в numpy пакете также, версия> = 1.4.1:

    apt-cache policy python-numpy
    python-numpy:
    Installed: (none)
    Candidate: 1:1.7.1-1ubuntu1
    Version table:
     1:1.7.1-1ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ raring/main amd64 Packages

    Как Вы видите, у меня есть доступная numpy версия 1.7.1, поэтому позволяет, продолжают устанавливать его:

    sudo apt-get install python-numpy
    
  3. Теперь это говорит, что нам нужен цитон, позволяет проверке, если тот пакет является availabe:

    apt-cache policy cython
    cython:
    Installed: (none)
    Candidate: 0.17.4-0ubuntu1
    Version table:
     0.17.4-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ raring/main amd64 Packages

    У нас есть он, мы устанавливаем его:

    sudo apt-get install cython
    

    Действительно заметьте, что существуют другие пакеты, которые являются зависимостью, которые устанавливаются также.

  4. Достаточно странно нам также нужен scipy модуль также:

    sudo apt-get install python-scipy
    
  5. Тестирование. Открытый Python в терминале и типе следующее:

    $ python
    Python 2.7.4 (default, Sep 26 2013, 03:20:26) 
    [GCC 4.7.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    >>> import scipy
    >>> import cython
    >>> exit()
    

    Вышеупомянутое, должен быть без ошибок. Если что-то пошло не так, как надо, поднимитесь и прочитайте руководство снова, Вы забыли/пропустили шаг.

  6. При загрузке источников КЛАССА с их страницы перейдите к каталогу в терминале и untar это и сделайте его:

    cd where/the/tar/is
    tar zxf class_v2.0.2.tar.gz
    cd class_v2.0.2
    make

    Здесь мы будем ожидать, до завершено. После того как это сделано, мы переходим к каталогу Python и запускаем волшебство. Не перемещаясь из каталогов выполняет это:

    cd python
    python setup.py build
    python setup.py install --user

    Теперь нам установили КЛАСС в нашем пользовательском каталоге. Мы должны протестировать его!

    python
    Python 2.7.4 (default, Sep 26 2013, 03:20:26)
    [GCC 4.7.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from classy import Class
    >>> exit()
    

    Все хорошо cozzy до здесь.

  7. Теперь время истины, загрузите monthypython tarball в Вашем каталоге кода:

    cd ~
    mkdir code
    cd code
    wget https://www.dropbox.com/s/l7mnhwsktp1m8b5/montepython_v1.2.5.tar.bz2?dl=1 -O montepython_v1.2.5.tar.bz2
    tar jxf montepython_v1.2.5.tar.bz2

    В инструкциях по установке некоторые примечания, которые не релевантны в этом специфическом случае (новая установка), но может быть важно при обновлении montepython.

  8. Это изменение важно. Вы помните, где Вы установили КЛАСС? Теперь необходимо ли сказать Monte Python, где это. В моем случае это /home/braiam/src/class_v2.0.2/class, Ваш может отличаться. Можно использовать find искать его:

    find ~ -name class -print
    

    Ну, теперь я изменяю default.conf файл с помощью то, независимо от того, что Вам нравится (я буду использовать нано) и изменяет root путь, таким образом, полный файл будет, похож:

    # Fill in the relevant path to your personal distribution. 
    # If you create a new file out of this one, please remember to call
    # MontePython.py with the option '-conf my.conf'
    
    # At minimum, this file should contain one line:
    # ** path['cosmo'] =  path to the cosmological code you are using. Note, if you are
    # using a modified version of class, be sure that the path contains the word
    # class, otherwise the code might not recognise it.
    
    # If you want to use a data folder different from the one present in the folder
    # you are executing the code, please also add:
    # ** path['data']  =  /path/to/the/other/data/
    
    root = '/home/braiam/src/class_v2.0.2/'
    
    path['cosmo']           = root+'/class/'
    

    Сохраните файл и выход.

  9. Тест montepython! Если бы все было в порядке, то необходимо смочь работать code/MontePython.py --help в Вашем montepythong каталоге и все должно работать:

    ~/src/montepython$ code/MontePython.py --help
    usage: MontePython.py [-h] [-N number of steps] [-o output folder]
                      [-p input param file] [-c input cov matrix]
                      [-j jumping method] [-f jumping factor]
                      [-conf configuration file] [-chain_number chain number]
                      [-r restart from chain] [-bf restart from best fit file]
                      [-info [compute information of desired file [compute information of desired file ...]]]
                      [-bins desired number of bins, default is 20] [-no_mean]
                      [-comp comparison folder]
                      [-extra plot file for custom needs] [-noplot] [-all]
                      [-ext change extension for the output file]
                      [-fontsize desired fontsize, default is 15]
                      [-ticksize desired ticksize, default is 13]
    
    Monte Python, a Monte Carlo code in Python
    
    optional arguments:
    -h, --help            show this help message and exit
    -N number of steps
    -o output folder
    -p input param file
    -c input cov matrix
    -j jumping method
    -f jumping factor
    -conf configuration file
    -chain_number chain number
    -r restart from chain
    -bf restart from best fit file
    -info [compute information of desired file [compute information of desired file ...]]
    -bins desired number of bins, default is 20
    -no_mean
    -comp comparison folder
    -extra plot file for custom needs
    -noplot
    -all
    -ext change extension for the output file
    -fontsize desired fontsize, default is 15
    -ticksize desired ticksize, default is 13

С этим у Вас есть montepython, установленный и готовый прокрутиться!

41
ответ дан 4 March 2014 в 20:29

Другие вопросы по тегам:

Похожие вопросы: