파이썬에 numpy 및 scipy를 설치하는 방법은 무엇입니까?


36

피톤 2.7.5에 numpy와 scipy를 설치하려고하는데 피곤합니다. 파이썬의 최종 목표는 클래스 ( http://class-code.net/ )와 montepython ( http : // montepython 을 설치하는 것이므로이 버전의 파이썬이 필요합니다 .net / ).

(우분투 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. 파이썬 요구 사항 충족 : $ 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. ... 그리고 핍과 설치에 노력 : $ sudo pip install numpy$ sudo pip install scipy
  5. 나는 이미 var 환경을 가지고 있습니다 : export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH} numpy와 scipy를 설치했을 때 (이전의 우분투 버전 10.x에서) 이것이 나를 위해 일했습니다.
  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" (4)와 같이 pip로 둘 다 설치하십시오.

    그러나 이제 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를 설치하려고했습니다.

나는이 시도 각각에 실패했고 지금은 무엇을 해야할지 모르겠습니다. 뭔가 빠졌습니까? 파이썬에 numpy 및 scipy를 올바르게 설치하려면 어떻게해야합니까? 모든 아이디어를 부탁드립니다.

내가 할 때

echo $PYTHONPATH

나는 얻다

/usr/lib/python2.7/dist-packages

echo $PYTHONPATH질문에 대한 결과를 추가하십시오 . 감사합니다 :-)
MadMike

아마 이것이 도움이 될 수 있습니다 : effbot.org/pyfaq/…
Rmano

좋아, @MadMike 나는 $PYTHONPATH이미 내 정의를 삭제 하는 데 문제가 .bashrc있지만, $PYTHONPATH내가 얻는 env var가 있기 때문에 여전히 다른 곳에서 정의 가 있습니다 : bash: /usr/lib/python2.7/dist-packages:: No such file or directory(더블 콜론) ...
Jorge

이미 .bashrc파일 로 작성하여 수정했습니다 export PYTHONPATH=/usr/lib/python2.7/dist-packages... UCS4 빌드 / UCS2 빌드를 @Rmano sugest로 수행하지만 두 경우 모두 여전히 동일한 문제가 발생합니다 ... : \
Jorge

1
크레딧은 @Rmano로 가야합니다. numpy와 scipy의 버기 버전에 문제가있었습니다. 업그레이드 된 버전에서는 모든 것이 예상대로 작동합니다.
MadMike

답변:


41

자, 설치 안내서를 따르십시오 .

  1. 파이썬 2.7 (이미 가지고 있음)이 필요하다고 말합니다.

    $ python --version
    Python 2.7.4
  2. 그런 다음 numpy 패키지가 필요하다고 말합니다 (버전> = 1.4.1).

    apt-cache 정책 python-numpy
    파이썬 숫자 :
    설치됨 : (없음)
    후보자 : 1 : 1.7.1-1 우분투 1
    버전 테이블 :
     1 : 1.7.1-1 우분투 10
        500 http://archive.ubuntu.com/ubuntu/ raring / main amd64 패키지

    보시다시피, numpy 버전 1.7.1을 사용할 수 있으므로 계속 설치하십시오.

    sudo apt-get install python-numpy
  3. 이제 우리는 cython이 필요하다고 말합니다. 패키지를 사용할 수 있는지 확인하십시오.

    적절한 캐시 정책
    사이 톤 :
    설치됨 : (없음)
    후보자 : 0.17.4-0 우분투 1
    버전 테이블 :
     0.17.4-0 우분투 10
        500 http://archive.ubuntu.com/ubuntu/ raring / main amd64 패키지

    우리는 그것을 설치합니다.

    sudo apt-get install cython

    종속성이있는 다른 패키지도 설치되어 있습니다.

  4. 이상하게도 우리는 scipy 모듈도 필요합니다.

    sudo apt-get install python-scipy
  5. 테스트 . 터미널에서 파이썬을 열고 다음을 입력하십시오.

    $ 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. 페이지에서 CLASS 소스를 다운로드하고 터미널의 디렉토리로 이동하여 압축을 풀고 다음을 수행하십시오.

    cd 어디 / the / tar / is
    타르 zxf class_v2.0.2.tar.gz
    cd 클래스 _v2.0.2
    하다

    여기서는 완료 될 때까지 기다립니다. 이 작업이 끝나면 python 디렉토리로 이동하여 마술을 시작하십시오. 디렉토리에서 이동하지 않고 다음을 실행하십시오.

    CD 파이썬
    파이썬 setup.py 빌드
    python setup.py install --user

    이제 사용자 디렉토리에 CLASS가 설치되었습니다. 우리는 그것을 테스트해야합니다!

    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()

    여기까지 모든 것이 좋은 것입니다.

  7. 이제 진실 시간, 코드 디렉토리에 monthypython tarball을 다운로드하십시오 :

    cd ~
    mkdir 코드
    CD 코드
    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

    설치 지침서 에는 이 특별한 경우 (새 설치)와 관련이없는 몇 가지 참고 사항 이 있지만 몬테 피톤을 업데이트 할 때 중요 할 수 있습니다.

  8. 이 변경이 중요합니다. CLASS를 어디에 설치했는지 기억하십니까? 이제 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. 몬테 피톤 테스트! 모든 것이 code/MontePython.py --help정상이라면, montepythong 디렉토리에서 실행할 수 있어야 하고 모든 것이 실행되어야합니다 :

    ~ / src / montepython $ code / MontePython.py --help
    사용법 : MontePython.py [-h] [-N 단계 수] [-o 출력 폴더]
                      [-p 입력 매개 변수 파일] [-c 입력 cov 행렬]
                      [-j 점프 방법] [-f 점프 팩터]
                      [-conf 구성 파일] [-chain_number 체인 번호]
                      [-r 체인에서 다시 시작] [-bf 가장 적합한 파일에서 다시 시작]
                      [-info [원하는 파일의 계산 정보 [원하는 파일의 계산 정보 ...]]]
                      [-bins 원하는 수의 bin, 기본값은 20] [-no_mean]
                      [-comp 비교 폴더]
                      [-사용자 요구에 대한 추가 플롯 파일] [-noplot] [-all]
                      [-출력 파일의 확장자 변경]
                      [-fontsize 원하는 글꼴 크기, 기본값은 15]
                      [-ticksize 원하는 ticksize, 기본값은 13입니다]
    
    Monte Python, Python의 Monte Carlo 코드

    선택적 인수 : -h, --help이 도움말 메시지를 표시하고 종료 -N 단계 수 -o 출력 폴더 -p 입력 매개 변수 파일 -c 입력 cov 매트릭스 -j 점프 방법 -f 점프 계수 -conf 구성 파일 -chain_number 체인 번호 -r 체인에서 다시 시작 -bf 가장 적합한 파일에서 다시 시작 -info [원하는 파일의 계산 정보 [원하는 파일의 계산 정보 ...]] -bins 원하는 수의 bin, 기본값은 20 -no_mean -comp 비교 폴더 사용자 요구에 맞는 추가 플롯 파일 노 플롯 -모두 출력 파일의 -ext change 확장자 -fontsize 원하는 글꼴 크기, 기본값은 15 -ticksize 원하는 ticksize, 기본값은 13입니다

이것으로 몬테 피톤이 설치되었고 롤링 할 준비가되었습니다!


답변 주셔서 감사합니다. 물론 첫 번째 단계로 montepython에서 제공 한 설치 안내서를 따르지만 불행히도 파이썬이 scipy / numpy를 찾을 수 없기 때문에 단계 (5)에 갇히게됩니다. 그래서 대체 단계를 시도했습니다.
Jorge

1
@ JorgeMastache 라이브러리를 정리해야합니다. 어딘가를 엉망으로 만들었고 파이썬이 사용하려고합니다. 새 사용자를 사용 sudo하거나 ( 사용하지 않은 경우 ) sudo make uninstall프로그램을 제거하십시오.
Braiam

나는 새로운 ubunutu (새 컴퓨터)에 처음 설치했다. 파이썬 관련 패키지가 우분투 데스크탑이나 수학 라이브러리와 엉망이 될 수 있기 때문에 파이썬 관련 패키지를 조심스럽게 제거하기 위해 다른 사용자에게 경고하고 싶습니다. 나는 이미 python을 재구성 / 구성하고 numpy와 scipy를 설치하기 위해 단계 (1)과 (6)을 사용하여 montepython을 설치했습니다. 답변에 감사드립니다.
Jorge Jorge

1
@JorgeMastache는 유지하기가 쉽지만 괜찮습니다.
Braiam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.