импорт NumPy в параллельном Python - PullRequest
1 голос
/ 23 февраля 2012

каждый, я новичок в PP, но застрял в проблеме при импорте NumPy с PP.

В основном я пытался передать функцию на ppserver, которая зависит от NumPy.Я импортировал его в самом начале кода, используя (импортируйте NumPy как nu), но когда я запустил код, он выдал ошибку, которая не может найти общий объект multiarray.so.

Ситуация точното же самое здесь: параллельный форум Python

код прикреплен, как показано ниже: (я работаю на 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 объекты.

1 Ответ

2 голосов
/ 18 июля 2012

Я могу ошибаться, но я верю в то, как ты отправляешь работу неправильно.Как видно из документации (http://www.parallelpython.com/content/view/15/30/#QUICKSMP), третий аргумент (не включая «self») - это зависимые функции. Кроме того, модули должны быть строками. Я предполагаю, что «band» и «k» являются зависимыми функциями, посколькуне вижу своих деклараций:

job = job_server.submit(aa.plotwavefunc, depfuncs = (band,k), modules = ("numpy","pylab","signal"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...