python - 在并行 Python 中导入 NumPy

标签 python numpy parallel-processing

各位,我是PP新手,但是在用PP导入NumPy时遇到了问题。

基本上我试图做的就是向 ppserver 提交一个依赖于 NumPy 的函数。我在代码的最开始使用 (import NumPy as nu) 导入了它,但是当我运行代码时,它给了我找不到共享对象 multiarray.so 的错误。

这里的情况完全一样:parallel python forum

代码如下:(我在 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 对象的目录。

最佳答案

我可能是错的,但我相信您提交作业的方式是错误的。如文档(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"))

关于python - 在并行 Python 中导入 NumPy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403191/

相关文章:

python-3.x - Numpy 将两个不同的linspace组合成一个坐标矩阵

python - Pandas groupby 自定义函数到每个系列

parallel-processing - 在 Apache Storm 中每个集群节点配置多个 worker 的原因是什么?

c - 请解释以下并行代码模板

javascript - 图形 map 对象表示网站

python - pycrypto-2.6.1(python 2.7.6) ubuntu14.04 LTS 中无法识别“exportKey”函数

python - 将 Maya 2011 与 Mysqldb 连接

Python HTTP 服务器未响应 POST 请求

python - 了解 numpy 数组在内存中的布局

c++ - visual c++并口控制