Python için numpy ve scipy nasıl kurulur?


36

Phyton 2.7.5 için numpy ve scipy'yi yüklemekten yoruldum, bu python sürümüne ihtiyacım var çünkü nihai hedefim sınıfı ( http://class-code.net/ ) ve montepython ( http: // montepython) kurmak. Net / ).

(Ben ubuntu var 12.04)

Numpy veya scipy almaya çalıştığımda her zaman aşağıdaki hatayı alıyorum:

$ 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

Hatadan kurtulmak için denedim:

  1. Python gereksinimi karşılamak: $ sudo apt-get install build-essential python-dev gfortran
  2. Apt-get ile kurun: $ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
  3. Pip ile yükleme gereksinimi: $ sudo pip install requests
  4. ... ve pip ile yüklemeden çalıştı: $ sudo pip install numpyve$ sudo pip install scipy
  5. Zaten ortam var var: export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH} Ben en son numpy ve scipy yüklediğimde (eski ubuntu sürüm 10.x) bu benim için çalıştı.
  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" ve her ikisini de (4) 'deki gibi pip ile takın.

    Ama şimdi görünen o ki python-distribute.org sunucusu kapalı. Aşağıdaki hatayı aldım:

    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. Ben de sinaptik ve Ubuntu yazılım merkezinden uyuşuk ve aldatmaca yüklemeyi denemiştim.

Bu girişimlerin her birinde başarısız olmuştum ve şimdi ne yapacağımı bilemiyorum. Bir şey mi eksik? Python için nasıl düzgün şekilde kurulu numpy ve scipy alabilirim? Herhangi bir fikir takdir edilecektir.

ben yaparken

echo $PYTHONPATH

alırım

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

Lütfen echo $PYTHONPATHsorunuzun çıktısını ekleyin . Thank you :-)
MadMike

Belki bu yardımcı olabilir: effbot.org/pyfaq/…
Rmano

Tamam, @MadMike $PYTHONPATHTanımlarımı zaten sildiğim için bir sorunum var .bashrc, ancak yine de alacağım env var, çünkü başka bir yerde bir tanımım var $PYTHONPATH: bash: /usr/lib/python2.7/dist-packages:: No such file or directory(çift kolon) ...
Jorge

.bashrcDosyaya yazarak zaten düzeltiyorum export PYTHONPATH=/usr/lib/python2.7/dist-packages... UCS4 build / UCS2'nin @Rmano'nun önerdiği gibi yapıyorum ama her iki durumda da aynı sorunu yaşıyorum ...: \
Jorge

1
Krediler @Roman'a gitmeli. Haşhaş ve scipy buggy sürümü ile ilgili bir sorun vardı. Yükseltilmiş versiyonu ile her şey beklendiği gibi çalışıyor.
MadMike

Yanıtlar:


41

Tamam, kurulum kılavuzunu izleyelim :

  1. (Zaten sahip olduğunuz) python 2.7'ye ihtiyacınız olduğunu söylüyor:

    $ python --version
    Python 2.7.4
    
  2. Sonra da numpy pakete ihtiyacınız olduğunu söylüyor, version> = 1.4.1:

    apt-cache politikası python-numpy
    piton-numpy:
    Yüklendi: (yok)
    Aday: 1: 1.7.1-1ubuntu1
    Sürüm tablosu:
     1: 1.7.1-1ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ raring / main amd64 Paketler

    Gördüğünüz gibi, ben 1.7.1 numpy sürümü mevcut, bu yüzden yüklemeye devam edelim:

    sudo apt-get install python-numpy
  3. Şimdi cython'a ihtiyacımız olduğunu söylüyor, paketin mevcut olup olmadığını kontrol edelim:

    apt-cache politikası cython
    Cython:
    Yüklendi: (yok)
    Aday: 0.17.4-0ubuntu1
    Sürüm tablosu:
     0.17.4-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ raring / main amd64 Paketler

    Bizde var, biz kuruyoruz:

    sudo apt-get install cython

    Lütfen, bağımlılığı olan başka paketlerin de kurulmakta olduğuna dikkat edin.

  4. İşin garibi, ayrıca scipy modülüne de ihtiyacımız var:

    sudo apt-get install python-scipy
  5. Test etmek . Bir terminalde python'u açın ve aşağıdakini yazın:

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

    Yukarıdaki, hatasız olmak zorunda. Eğer bir şeyler ters giderse, yukarı gidin ve kılavuzu tekrar okuyun, bir adımı unuttunuz / atladınız.

  6. CLASS kaynaklarını sayfalarından indirme, terminaldeki dizine gidin ve işaretini kaldırın ve yapın:

    cd nerede / / tar / is
    tar zxf class_v2.0.2.tar.gz
    cd class_v2.0.2
    Yapmak

    Burada tamamlanana kadar bekleyeceğiz. Bu yapıldıktan sonra, python dizinine gidip sihri başlatıyoruz. Dizinlerden hareket etmeden şunu çalıştırın:

    cd pitonu
    python setup.py oluşturma
    python setup.py kurulumu - kullanıcı

    Şimdi kullanıcı rehberimize CLASS'ı kurduk. Test etmeliyiz!

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

    Buraya kadar her şey çok rahat.

  7. Şimdi gerçek zamanlı, kod dizininizde monthypython tarball'ı indirin:

    cd ~
    mkdir kodu
    cd kodu
    https://www.dropbox.com/s/l7mnhwsktp1m8b5/montepython_v1.2.5.tar.bz2?dl=1 -O Instagram Hesabındaki Resim ve Videoları montepython_v1.2.5.tar.bz2
    tar jxf Instagram Hesabındaki Resim ve Videoları montepython_v1.2.5.tar.bz2

    Kurulum talimatlarında , bu tuhaf durumla ilgili olmayan bazı notlar bulunmaktadır (yeni kurulum), ancak montepython'u güncellediğinizde önemli olabilir.

  8. Bu değişiklik önemlidir. CLASS'ı nereye kurduğunu hatırlıyor musun? Şimdi Monte Python'a nerede olduğunu söylemelisin. Benim durumumda /home/braiam/src/class_v2.0.2/class, seninki farklı olabilir. Aramak için kullanabilirsiniz find:

    find ~ -name class -print

    Peki, şimdi default.confneyi (nano kullanacağım) kullanarak rootyolu değiştirdim ve yolu değiştirdim , böylece tam dosya şöyle görünecek:

    # 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/'
    

    Dosyayı kaydet ve çık.

  9. Montepython'u test et! Her şey yolunda code/MontePython.py --helpgiderse, montepythong dizininizde koşabilmelisiniz ve her şey koşmalı:

    ~ / src / montepython $ kod / MontePython.py - yardım
    kullanım: MontePython.py [-h] [-N adım sayısı] [-o çıkış klasörü]
                      [-p giriş param dosyası] [-c giriş cov matrisi]
                      [-j atlama yöntemi] [-f atlama faktörü]
                      [-conf yapılandırma dosyası] [-chain_number zincir numarası]
                      [-r zincirden yeniden başlatma] [-bf en uygun dosyadan yeniden başlatma]
                      [-info [istenilen dosyanın bilgilerini hesapla [istenen dosyanın bilgilerini hesapla ...]]]
                      [-bins, istenen kutu sayısını değiştirir, varsayılan değer 20'dir] [-no_mean]
                      [-comp karşılaştırma klasörü]
                      [-extra özel ihtiyaçlar için komplo dosyası] [-noplot] [-all]
                      [-dosya dosyasının uzantısı değişikliği]
                      [fontsize istenen fontsize, varsayılan değer 15]
                      [-ticksize istenen ticksize, varsayılan değer 13'tür]
    
    Monte Python, Python'da bir Monte Carlo kodu

    isteğe bağlı argümanlar: -h, --help yardım mesajını göster ve çıkar -N adım sayısı -o çıkış klasörü -p giriş param dosyası -c giriş cov matrisi -j atlama yöntemi -f atlama faktörü -conf yapılandırma dosyası -chain_number zincir numarası -r zincirden yeniden başlatma -bf en uygun dosyadan yeniden başlat -info [istenen dosyanın bilgisini hesapla [istenen dosyanın bilgisini hesapla ...]] -bina kutuları istenen kutu sayısı, varsayılan 20'dir -anlamsız -comp karşılaştırma klasörü özel ihtiyaçlar için -extra arsa dosyası -noplot -herşey çıktı dosyası için -ext değişiklik uzantısı -fontsize istenen fontsize, varsayılan 15'tir. -ticksize istediğiniz ticksize, varsayılan değer 13

Bununla montepython'u kurdunuz ve yuvarlamaya hazırsınız!


Cevabınız için teşekkürler. Tabii ki ilk adım olarak montepython tarafından verilen kurulum kılavuzunu takip ediyorum, maalesef adımınıza (5) takılıyorum çünkü python scipy / numpy bulamadı. Bu yüzden alternatif adımlar denedim.
Jorge,

1
@JorgeMastache kütüphanelerinizi temizlemelisiniz, belki bir yerlere dağılmışsınızdır ve python kullanmaya çalışıyordur. Yeni bir kullanıcı kullanın (eğer kullanılan olmasaydı sudo) ya da yapmak sudo make uninstallveya bununla programları kaldırıldı olsun.
Braiam

Ben yeni bir ubunutu ilk kurulum oldu (yeni bilgisayar). Python ile ilgili paketi kaldırma konusunda dikkatli olmak için başka bir kullanıcıyı uyarmak istiyorum, çünkü ubuntu-desktop veya matematik kütüphanelerinizi kirletebilir. Montepython'u zaten python'u yeniden yapılandırarak / yaparak ve adım (1) ve (6) 'yı kullanarak numpy ve scipy'yi kurmak için kullanıyorum, cevaplarınız için teşekkürler.
Jorge,

1
@JorgeMastache korumak için bir acı olacak, ama tamam.
Braiam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.