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


36

phyton 2.7.5のnumpyとscipyをインストールするのはうんざりです。クラス(http://class-code.net/)とmontepython(http:// montepythonをインストールすることが最終目標なので、このバージョンのpythonが必要です。 .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

の出力をecho $PYTHONPATH質問に追加してください。ありがとう:-)
MadMike

たぶん、この缶のヘルプ:effbot.org/pyfaq/...
Rmano

[OK]を、@MadMike私は問題を持っている$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として実行しますが、両方のケースで同じ問題が発生します...:\
Jorge

1
クレジットは@Rmanoに移動する必要があります。numpyとscipyのバグのあるバージョンに問題がありました。アップグレードされたバージョンでは、すべてが正常に機能します。
MadMike

回答:


41

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
    シトン:
    インストール済み:(なし)
    候補:0.17.4-0ubuntu1
    バージョン表:
     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
    作る

    ここで、完了するまで待機します。これが完了したら、pythonディレクトリに移動してマジックを開始します。ディレクトリから移動せずにこれを実行します:

    cd python
    python 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

    インストール手順に、この特殊なケース(新規インストール)には関係ない注意事項がいくつかありますが、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. モンテパイソンをテストしてください!すべてが正常であれば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希望するビン数、デフォルトは20] [-no_mean]
                      [-comp比較フォルダー]
                      [-カスタムニーズの追加プロットファイル] [-noplot] [-all]
                      [-ext出力ファイルの拡張子を変更]
                      [-fontsize希望のフォントサイズ、デフォルトは15]
                      [-ticksize目的のティックサイズ、デフォルトは13]
    
    Monte Python、Pythonのモンテカルロコード

    オプションの引数: -h、-helpこのヘルプメッセージを表示して終了 -Nステップ数 -o出力フォルダー -p入力パラメーターファイル -c入力cov行列 -jジャンプ方法 -fジャンプ係数 -conf構成ファイル -chain_numberチェーン番号 -rチェーンから再起動 -bf最適なファイルから再起動 -info [目的のファイルの情報を計算[目的のファイルの情報を計算...]] -bins希望するビンの数、デフォルトは20 -no_mean -comp比較フォルダー -カスタムニーズの追加のプロットファイル -ノプロット -すべて -ext出力ファイルの拡張子を変更 -fontsize希望するフォントサイズ、デフォルトは15 -ticksize望ましいティックサイズ、デフォルトは13

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


ご回答有難うございます。もちろん、最初のステップとしてmontepythonのインストールガイドに従いますが、残念ながらpythonがscipy / numpyを見つけられなかったため、ステップ(5)で行き詰まりました。それが私が代替手順を試した理由です。
ホルヘ

1
@JorgeMastacheライブラリをクリーンアップする必要があります。多分あなたはどこかで台無しにし、Pythonはそれを使用しようとしています。新しいユーザーを使用する(使用しなかった場合sudo)または使用するsudo make uninstallか、プログラムをアンインストールします。
ブライアム

私は新しいウブヌツ(新しいコンピューター)に初めてインストールしました。python関連のパッケージは、ubuntu-desktopまたは数学ライブラリを台無しにする可能性があるので、アンインストールするよう注意してください。numpyとscipyをインストールするために、pythonを再構成/作成し、ステップ(1)と(6)を使用してmontepythonを既にインストールしています。回答ありがとうございます。
ホルヘ

1
@JorgeMastacheこれは維持するのに苦労しますが、大丈夫です。
ブライアム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.