Python 并行使用plot()函数:TypeError:无法pickle'_io.BufferedWriter';对象

Python 并行使用plot()函数:TypeError:无法pickle'_io.BufferedWriter';对象,python,parallel-processing,joblib,Python,Parallel Processing,Joblib,我正在尝试使用joblib并行包在多页pdf文件上绘制数据。使用plot()和Parallel()组合时,会遇到以下错误: joblib.externals.loky.process_executor._RemoteTraceback: """ Traceback (most recent call last): File "~/.local/lib/python3.8/site-packages/joblib/externals/loky/back

我正在尝试使用joblib并行包在多页pdf文件上绘制数据。使用plot()和Parallel()组合时,会遇到以下错误:

joblib.externals.loky.process_executor._RemoteTraceback: 
"""
Traceback (most recent call last):
  File "~/.local/lib/python3.8/site-packages/joblib/externals/loky/backend/queues.py", line 153, in _feed
    obj_ = dumps(obj, reducers=reducers)
  File "~/.local/lib/python3.8/site-packages/joblib/externals/loky/backend/reduction.py", line 271, in dumps
    dump(obj, buf, reducers=reducers, protocol=protocol)
  File "~/.local/lib/python3.8/site-packages/joblib/externals/loky/backend/reduction.py", line 264, in dump
    _LokyPickler(file, reducers=reducers, protocol=protocol).dump(obj)
  File "~/.local/lib/python3.8/site-packages/joblib/externals/cloudpickle/cloudpickle_fast.py", line 563, in dump
    return Pickler.dump(self, obj)
TypeError: cannot pickle '_io.BufferedWriter' object
"""
使用的代码如下所示:

#!/usr/bin/env python
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
from joblib import Parallel, delayed

def dummy(i):
    print('Function call:', i+1)
    fig, axs = plt.subplots(2,figsize=(24, 12), dpi=300, facecolor='w', edgecolor='k')
    axs[0].plot([1,2,3], [3*(i+1),4*(i+1),54*(i+1)])
    axs[1].plot([1,2,3], [3*(i+1),20*(i+1),200*(i+1)])
    plt.tight_layout()
    pdf.savefig()
    plt.close()
with PdfPages('subplots_parallel_test.pdf') as pdf:
    Parallel(n_jobs=2)(delayed(dummy)(i) for i in range(6))
    #[dummy(i) for i in range(6)]
如果不使用plot()函数,Parallel()可以正常工作