web-dev-qa-db-ja.com

numpyとscipyをPythonにインストールする方法は?

Phyton 2.7.5のnumpyとscipyをインストールしようとするのはうんざりです。クラスのインストールが最終目標なので、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. ...そしてpipでインストールしようとしました:$ Sudo pip install numpyおよび$ Sudo pip install scipy
  5. 私はすでに環境変数を持っています:export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH} numpyとscipy(以前のubuntuバージョン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. また、シナプスおよびUbuntuソフトウェアセンターからnumpyとscipyをインストールしようとしました

私はこの試みのそれぞれに失敗しましたが、今はどうすればいいのかわかりません。何か不足していますか? numpyとscipyをPythonに正しくインストールするにはどうすればよいですか?どんなアイデアでも大歓迎です。

私がする時

echo $PYTHONPATH

私は得る

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

OK、 インストールガイド に従ってください。

  1. python 2.7(既に持っている)が必要だと書かれています:

    $ python --version
    Python 2.7.4
    
  2. 次に、numpyパッケージも必要であると言われています、バージョン> = 1.4.1:

     apt-cacheポリシーpython-numpy 
     python-numpy:
    インストール済み:(なし)
    候補:1:1.7.1-1ubuntu1 
    バージョン表:
     1:1.7.1-1ubuntu1 0 
     500 http://archive.ubuntu.com/ubuntu/ raring/main AMD64パッケージ

    ご覧のとおり、numpyバージョン1.7.1が利用できるので、インストールを続行します。

    Sudo apt-get install python-numpy
    
  3. さて、cythonが必要だと言っています。そのパッケージが利用可能かどうかを確認しましょう:

    apt-cacheポリシー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パッケージ

    持っています、インストールします:

    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. ページからCLASSソースをダウンロードし、ターミナルのディレクトリに移動し、それを展開して作成します。

    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

    これで、ユーザーディレクトリに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 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. この変更は重要です。 CLASSをインストールした場所を覚えていますか?ここで、Monte Pythonを教えてください。私の場合、それは/home/braiam/src/class_v2.0.2/classです。あなたのものとは異なるかもしれません。 findを使用して検索できます。

    find ~ -name class -print
    

    さて、私はあなたが好きなものを使ってdefault.confファイルを変更し(nanoを使用します)、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. モンテパイソンをテストしてください!すべてが正常であれば、montepythongディレクトリでcode/MontePython.py --helpを実行でき、すべてが実行されるはずです。

    〜/ src/montepython $ code/MontePython.py --help 
     usage:MontePython.py [-h] [-N number 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チェーンから再起動] [-bf最適なファイルから再起動] 
     [-info [目的のファイルの情報を計算[目的のファイルの情報を計算...]]] 
     [-bins desiredビンの数、デフォルトは20] [-no_mean] 
     [-comp比較フォルダー] 
     [カスタムニーズの追加プロットファイル] [-noplot] [-all] 
     [-ext出力ファイルの拡張子を変更] 
     [-fontsize希望のフォントサイズ、デフォルトは15] 
     [-ticksize希望のティックサイズ、デフォルトは13] 
     
     Monte Python、Pのモンテカルロコードython 
     
     optional arguments:
    -h、--helpこのヘルプメッセージを表示して終了
    -Nステップ数
    -o出力フォルダー
    -p入力パラメーターファイル
    -c入力covマトリックス
    -jジャンプ方法
    -fジャンプ係数
    -conf構成ファイル
    -chain_numberチェーン番号
    -rチェーンからの再起動
    -bf最適なファイルからの再起動
    -info [目的のファイルの情報を計算[目的のファイルの情報を計算... ]] 
    -bins希望するビン数、デフォルトは20 
    -no_mean 
    -comp比較フォルダー
    -カスタムニーズ用の追加プロットファイル
     -noplot 
    -all 
    -ext出力ファイルの拡張子の変更
    -fontsize希望のフォントサイズ、デフォルトは15 
    -ticksize希望のティックサイズ、デフォルトは13

これで、montepythonがインストールされ、ロールする準備ができました!

41
Braiam