天天看点

进程池错误:TypeError: can‘t pickle SSLContext objects

使用语言:python3.6

使用环境:windows10

调用进程池(Pool)的apply_async下载obs出错:TypeError: can’t pickle SSLContext objects

原因obs的连接类不能被pickle,无法被传递

解决方案:放弃多线程类

from multiprocessing import Pool
           

改用

from pathos.pools import _ThreadPool as Pool
           

pathos可以pickle几乎所有类型,只要把类声明为Pool,可以用和multiprocessing包一样的方法定义函数。

参考链接:https://stackoverflow.com/questions/8804830/python-multiprocessing-picklingerror-cant-pickle-type-function