Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 连接到dask.distributed群集时出现Pickle错误_Python_Python 3.x_Distributed_Dask - Fatal编程技术网

Python 连接到dask.distributed群集时出现Pickle错误

Python 连接到dask.distributed群集时出现Pickle错误,python,python-3.x,distributed,dask,Python,Python 3.x,Distributed,Dask,这是我的简单代码。尝试运行我的第一个程序 from dask.distributed import Client client = Client('192.168.1.102:8786') def inc(x): return x + 1 x = client.submit(inc, 10) print(x.result()) 尝试使用此命令运行此代码时: $python3 filename.py 我犯了这个错误: /usr/local/lib/python3.4/dist-p

这是我的简单代码。尝试运行我的第一个程序

from dask.distributed import Client
client = Client('192.168.1.102:8786')


def inc(x):
    return x + 1

x = client.submit(inc, 10)
print(x.result())
尝试使用此命令运行此代码时:

$python3 filename.py
我犯了这个错误:

/usr/local/lib/python3.4/dist-packages/distributed/protocol/pickle.py
- INFO - Failed to serialize <function inc at 0x7f678ad05840> Traceback (most recent call last):   File
"/usr/local/lib/python3.4/dist-packages/distributed/protocol/pickle.py",
line 33, in dumps
    return cloudpickle.dumps(x, protocol=pickle.HIGHEST_PROTOCOL) AttributeError: 'module' object has no attribute 'dumps'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
 "/usr/local/lib/python3.4/dist-packages/distributed/protocol/pickle.py",
 line 43, in dumps
    return cloudpickle.dumps(x, protocol=pickle.HIGHEST_PROTOCOL) AttributeError: 'module' object has no attribute 'dumps' Traceback
 (most recent call last):   File
 "/usr/local/lib/python3.4/dist-packages/distributed/protocol/pickle.py",
 line 33, in dumps
     return cloudpickle.dumps(x, protocol=pickle.HIGHEST_PROTOCOL) AttributeError: 'module' object has no attribute 'dumps'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File "dis.py", line 8, in
 <module>
    x = client.submit(inc, 10)   File "/usr/local/lib/python3.4/dist-packages/distributed/client.py", line
 643, in submit
     loose_restrictions, priority={skey: 0})   File "/usr/local/lib/python3.4/dist-packages/distributed/client.py", line
 1235, in _graph_to_futures
     'tasks': valmap(dumps_task, dsk3),   File "/usr/local/lib/python3.4/dist-packages/toolz/dicttoolz.py", line 84,
 in valmap
     rv.update(zip(iterkeys(d), map(func, itervalues(d))))   File "/usr/local/lib/python3.4/dist-packages/distributed/worker.py", line
 812, in dumps_task
     return {'function': dumps_function(task[0]),   File "/usr/local/lib/python3.4/dist-packages/distributed/worker.py", line
 779, in dumps_function
     b = dumps(func)   File "/usr/local/lib/python3.4/dist-packages/distributed/protocol/pickle.py",
 line 43, in dumps
     return cloudpickle.dumps(x, protocol=pickle.HIGHEST_PROTOCOL) AttributeError: 'module' object has no attribute 'dumps'
/usr/local/lib/python3.4/distt-packages/distributed/protocol/pickle.py
-信息-未能序列化回溯(最近一次调用上次):文件
“/usr/local/lib/python3.4/distributed/protocol/pickle.py”,
第33行,在转储中
return cloudpickle.dumps(x,protocol=pickle.HIGHEST_protocol)AttributeError:'module'对象没有属性'dumps'
在处理上述异常期间,发生了另一个异常:
回溯(最近一次调用上次):文件
“/usr/local/lib/python3.4/distributed/protocol/pickle.py”,
第43行,在转储中
return cloudpickle.dumps(x,protocol=pickle.HIGHEST_protocol)AttributeError:'module'对象没有属性'dumps'回溯
(最近一次调用上次):文件
“/usr/local/lib/python3.4/distributed/protocol/pickle.py”,
第33行,在转储中
return cloudpickle.dumps(x,protocol=pickle.HIGHEST_protocol)AttributeError:'module'对象没有属性'dumps'
在处理上述异常期间,发生了另一个异常:
回溯(最近一次调用last):文件“dis.py”,第8行,在
x=client.submit(inc,10)文件“/usr/local/lib/python3.4/dist-packages/distributed/client.py”,第行
643,提交
松散的限制,优先级={skey:0})文件“/usr/local/lib/python3.4/dist-packages/distributed/client.py”,第行
1235年,从图表到期货
“任务”:valmap(dumps_task,dsk3),文件“/usr/local/lib/python3.4/dist-packages/toolz/dicttoolz.py”,第84行,
在瓦尔马
更新(zip(iterkeys(d),map(func,itervalues(d)))文件“/usr/local/lib/python3.4/dist-packages/distributed/worker.py”,第行
812,在dumps_任务中
返回{'function':dumps_函数(任务[0]),文件“/usr/local/lib/python3.4/dist-packages/distributed/worker.py”,第行
779,在dumps_函数中
b=转储(func)文件“/usr/local/lib/python3.4/dist-packages/distributed/protocol/pickle.py”,
第43行,在转储中
return cloudpickle.dumps(x,protocol=pickle.HIGHEST_protocol)AttributeError:'module'对象没有属性'dumps'

酸洗错误通常是Dask.distributed网络的某些元素(工作程序、调度程序或客户端)的Python版本不匹配的迹象。也许您的工作程序在Python 2下运行,而您却没有意识到这一点

该错误特别指出,
cloudpickle
库没有
dumps
方法,这相当奇怪。据我所知,cloudpickle一直有一个
dumps
函数。您的环境中是否有一个奇怪的cloudpickle库,或者是一个非常旧的版本

如果您只是在尝试,还可以通过省略调度程序的地址在同一进程中启动本地集群

from dask.distributed import Client

# client = Client('scheduler-address:8786')
client = Client()  # create local "cluster"

我的代码在ipython bt中运行良好,在python3i中不起作用。我还从客户端删除了ip()…得到了同样的错误…真的我不知道到底发生了什么…bt这段代码在IPython中运行得很好也许你在用系统Python运行多个Python环境时遇到了问题。你可以尝试改用Anaconda吗?这些问题往往会消失。试着使用vitualenv并隔离你的Python工作区!参见@MRocklin okk我在重新安装python3.4后修复了它…我认为安装过程中出现了一些问题谢谢你的帮助:)