2012-02-22 18 views
1

誰もが、私はPPを初めて使っていますが、PPでNumPyをインポートするときに問題が発生しました。Parallel PythonでNumPyをインポート

基本的には、NumPyに依存するppserverに関数を送信しようとしました。コードの冒頭で(NumPyをnuとしてインポートして)インポートしましたが、コードを実行したときに、共有オブジェクトmultiarray.soが見つかりませんでした。

状況はここでまったく同じです:parallel python forum

コードは以下のように装着されている:(Iは、Python 2.7.2 + PP 1.6.0 + numpyの1.5.1上で実行しています)

import numpy as nu 
import pylab as pl 
import pp 
job_server = pp.Server(secret="123456") 
print "Starting pp with", job_server.get_ncpus(), "workers" 

aa = GrRib() 
job = job_server.submit(aa.plotwavefunc, (band,k),(nu,pl,signal)) 
result = job() 

このようなエラーは次のようになります。

An error has occured during the function import 
Traceback (most recent call last): 
    File "/usr/lib/pymodules/python2.7/ppworker.py", line 86, in run 
    exec __fobj 
    File "<string>", line 127, in <module> 
ImportError: Error importing numpy: you should not try to import numpy from 
     its source directory; please exit the numpy source tree, and relaunch 
     your python intepreter from there. 
An error has occured during the function import 
Traceback (most recent call last): 
    File "/usr/lib/pymodules/python2.7/ppworker.py", line 86, in run 
    exec __fobj 
    File "<string>", line 1, in <module> 
    File "/usr/share/pyshared/matplotlib/__init__.py", line 135, in <module> 
    from matplotlib.rcsetup import (defaultParams, 
    File "/usr/share/pyshared/matplotlib/rcsetup.py", line 19, in <module> 
    from matplotlib.colors import is_color_like 
    File "/usr/share/pyshared/matplotlib/colors.py", line 52, in <module> 
    import numpy as np 
    File "/usr/share/pyshared/numpy/__init__.py", line 136, in <module> 
    import add_newdocs 
    File "/usr/share/pyshared/numpy/add_newdocs.py", line 9, in <module> 
    from numpy.lib import add_newdoc 
    File "/usr/share/pyshared/numpy/lib/__init__.py", line 4, in <module> 
    from type_check import * 
    File "/usr/share/pyshared/numpy/lib/type_check.py", line 8, in <module> 
    import numpy.core.numeric as _nx 
    File "/usr/share/pyshared/numpy/core/__init__.py", line 5, in <module> 
    import multiarray 
ImportError: No module named multiarray 

誰かが私を助けることができますか? PPがpysharedオブジェクトを探しているディレクトリを変更する必要があるので、私はそれを理解しています。

答えて

2

私は間違っている可能性がありますが、あなたが仕事を提出する方法が間違っていると思います。ドキュメント(http://www.parallelpython.com/content/view/15/30/#QUICKSMP)に見られるように、第3引数(「self」は含まない)は依存関数です。また、モジュールは文字列でなければなりません。私は宣言が表示されないので、 "バンド"と "k"は依存関数であると仮定しています。

job = job_server.submit(aa.plotwavefunc, depfuncs = (band,k), modules = ("numpy","pylab","signal")) 
関連する問題