Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 3.x distributed.protocol.pickle-INFO-序列化失败。例外:出于安全原因,不允许酸洗AuthenticationString对象_Python 3.x_Python 2.7_Dask_Dask Distributed_Dask Delayed - Fatal编程技术网

Python 3.x distributed.protocol.pickle-INFO-序列化失败。例外:出于安全原因,不允许酸洗AuthenticationString对象

Python 3.x distributed.protocol.pickle-INFO-序列化失败。例外:出于安全原因,不允许酸洗AuthenticationString对象,python-3.x,python-2.7,dask,dask-distributed,dask-delayed,Python 3.x,Python 2.7,Dask,Dask Distributed,Dask Delayed,python代码:: from dask.distributed import variable, Client from multiprocessing import Process, current_process def my_task(proc): print("process object::", proc) def doubler(number): # do stuff returns something proc = Process(target=double

python代码::

from dask.distributed import variable, Client
from multiprocessing import Process, current_process

def my_task(proc):
    print("process object::", proc)

def doubler(number):
    # do stuff returns something

proc = Process(target=doubler, args=(numbers,)) # creating a python process
client = Client()
future = client.submit(my_task, proc)
在运行上述代码时,我得到proc对象的序列化错误。请帮我解决这个问题

distributed.protocol.pickle - INFO - Failed to serialize (<Process(Process-1, initial)>,). Exception: Pickling an AuthenticationString object is disallowed for security reasons
Traceback (most recent call last):
  File "stop_task.py", line 42, in <module>
    future = client.submit(my_task, proc)
  File "/usr/lib/python2.7/site-packages/distributed/client.py", line 1121, in submit
    retries={skey: retries} if retries else None)
  File "/usr/lib/python2.7/site-packages/distributed/client.py", line 1954, in _graph_to_futures
    'tasks': valmap(dumps_task, dsk3),
  File "/usr/lib/python2.7/site-packages/toolz/dicttoolz.py", line 84, in valmap
    rv.update(zip(iterkeys(d), map(func, itervalues(d))))
  File "/usr/lib/python2.7/site-packages/distributed/worker.py", line 703, in dumps_task
    'args': pickle.dumps(task[1:])}
  File "/usr/lib/python2.7/site-packages/distributed/protocol/pickle.py", line 51, in dumps
    return cloudpickle.dumps(x, protocol=pickle.HIGHEST_PROTOCOL)
  File "/usr/lib/python2.7/site-packages/cloudpickle/cloudpickle.py", line 881, in dumps
    cp.dump(obj)
  File "/usr/lib/python2.7/site-packages/cloudpickle/cloudpickle.py", line 268, in dump
    return Pickler.dump(self, obj)
  File "/usr/lib64/python2.7/pickle.py", line 224, in dump
    self.save(obj)
  File "/usr/lib64/python2.7/pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "/usr/lib64/python2.7/pickle.py", line 548, in save_tuple
    save(element)
  File "/usr/lib64/python2.7/pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "/usr/lib64/python2.7/pickle.py", line 419, in save_reduce
    save(state)
  File "/usr/lib64/python2.7/pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "/usr/lib64/python2.7/pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "/usr/lib64/python2.7/pickle.py", line 681, in _batch_setitems
    save(v)
  File "/usr/lib64/python2.7/pickle.py", line 306, in save
    rv = reduce(self.proto)
  File "/usr/lib64/python2.7/multiprocessing/process.py", line 290, in __reduce__
    'Pickling an AuthenticationString object is '
TypeError: Pickling an AuthenticationString object is disallowed for security reasons
distributed.protocol.pickle-INFO-未能序列化(,)。例外:出于安全原因,不允许酸洗AuthenticationString对象
回溯(最近一次呼叫最后一次):
文件“stop_task.py”,第42行,在
future=client.submit(我的任务,proc)
文件“/usr/lib/python2.7/site packages/distributed/client.py”,第1121行,提交
重试次数={skey:retries}如果重试,则为无)
文件“/usr/lib/python2.7/site packages/distributed/client.py”,第1954行,在图到图中
“任务”:valmap(转储任务,dsk3),
文件“/usr/lib/python2.7/site packages/toolz/dicttoolz.py”,第84行,在valmap中
rv.更新(zip(iterkeys(d)、地图(func、iTerValue(d)))
文件“/usr/lib/python2.7/site packages/distributed/worker.py”,第703行,位于dumps\u任务中
“args”:pickle.dumps(任务[1:])}
文件“/usr/lib/python2.7/site packages/distributed/protocol/pickle.py”,第51行,转储
返回cloudpickle.dumps(x,协议=pickle.HIGHEST\u协议)
文件“/usr/lib/python2.7/site packages/cloudpickle/cloudpickle.py”,第881行,转储中
cp.dump(obj)
文件“/usr/lib/python2.7/site packages/cloudpickle/cloudpickle.py”,第268行,在转储文件中
返回Pickler.dump(自、obj)
文件“/usr/lib64/python2.7/pickle.py”,第224行,在转储中
自我保存(obj)
文件“/usr/lib64/python2.7/pickle.py”,第286行,保存
f(self,obj)#用显式self调用未绑定方法
文件“/usr/lib64/python2.7/pickle.py”,第548行,在save_tuple中
保存(元素)
文件“/usr/lib64/python2.7/pickle.py”,第331行,保存
自我保存(obj=obj,*rv)
文件“/usr/lib64/python2.7/pickle.py”,第419行,在save\u reduce中
保存(状态)
文件“/usr/lib64/python2.7/pickle.py”,第286行,保存
f(self,obj)#用显式self调用未绑定方法
保存目录中的文件“/usr/lib64/python2.7/pickle.py”,第649行
self.\u batch\u setitems(obj.iteritems())
文件“/usr/lib64/python2.7/pickle.py”,第681行,在批处理设置项中
保存(v)
文件“/usr/lib64/python2.7/pickle.py”,第306行,保存
rv=减少(自编程)
文件“/usr/lib64/python2.7/multiprocessing/process.py”,第290行,在__
'正在酸洗AuthenticationString对象'
TypeError:出于安全原因,不允许酸洗AuthenticationString对象

我不确定这里出了什么问题。。感谢你的时间和帮助。。谢谢..

看起来
进程
对象不可序列化。这并不奇怪。一台机器上的
进程
无法很好地转换为其他机器上的进程。这类对象太难移动,因此无法序列化。

为什么要将流程对象发送给workers?父进程与某个进程的关系不同于周围的任何其他进程。如果必须,您可以发送PID。