无法在Mac上的新进程中打开Matplotlib图

时间:2017-10-07 13:57:29

标签: macos matplotlib tkinter multiprocessing

如果我尝试启动创建matplotlib图形的进程,则在尝试创建图形时,该进程会挂起。以下是一些可以重现问题的代码:

from matplotlib import pyplot as plt
from multiprocessing import Process
import numpy as np

def plotit():
    data = np.cos(np.linspace(0, 10, 100))
    print 'Gets Here'
    plt.figure()
    print 'But This is never printed.'
    plt.plot(data)
    plt.show()

def main():
    p = Process(target=plotit)
    p.start()
    print raw_input('Press Enter when Done>>')

if __name__ == '__main__':
    main()

这个输出是:

Press Enter when Done>>Gets Here

所以它似乎冻结了plt.figure()

注意:代码似乎在linux上运行正常 - 它在Mac上失败了!(我的matplotlib后端在两种情况下都是TkAgg)。 (Python 2.7.12,matplotlib 2.0.2。,OSX Sierra 10.12)

有什么方法吗?

0 个答案:

没有答案