我有一个python多进程程序,可以在本地计算机上正确运行。但是,同一程序不能在远程服务器上运行。 它输出错误:
文件“ walkgenerator.py”,在主res = pool.map(模型,数据)文件中 “ /home/sh1/S3678051/anaconda2/envs/embed/lib/python2.7/multiprocessing/pool.py”, 地图中的253行 返回self.map_async(func,可迭代,块大小).get()文件“ /home/sh1/S3678051/anaconda2/envs/embed/lib/python2.7/multiprocessing/pool.py”, 第572行,在获取中提高self._value。 ValueError:必须为 一维或整数。
程序的一部分如下:
import networkx as nx
import multiprocessing as mp
import more_itertools as mit
def model(edgelist):
blablabla...
def main():
herepool = mp.Pool(4)
G=returnGraph() #G is a network graph
edgelist = [edge for edge in G.edges(data=True)]
data= [list(c) for c in mit.divide(cpu, edgelist)]
res = pool.map(model, data)
谁能告诉我问题出在哪里?我认为问题可能与服务器的设置有关,而不是与程序有关,因为该程序可以在我的桌面上正常运行。