相同的python代码不在mac上工作,但在linux上工作

相同的python代码不在mac上工作,但在linux上工作,python,matplotlib,Python,Matplotlib,下面的代码在linux上运行得很好,但在mac上不起作用。 我试图找到它不起作用的原因,如果我没有在onPositionChange函数上使用matplotlib进行绘图,则代码在mac上起作用。因此,我相信问题来自matplotlib,但我不明白为什么 我在两个系统中都安装了完全相同的matplotlib库:3.1.2,我使用的是python3 以下是我在控制台中的错误: 2021-05-12 16:52:25.941 Python[60747:697875] *** Terminating

下面的代码在linux上运行得很好,但在mac上不起作用。 我试图找到它不起作用的原因,如果我没有在
onPositionChange
函数上使用matplotlib进行绘图,则代码在mac上起作用。因此,我相信问题来自
matplotlib
,但我不明白为什么

我在两个系统中都安装了完全相同的
matplotlib
库:
3.1.2
,我使用的是
python3

以下是我在控制台中的错误:

2021-05-12 16:52:25.941 Python[60747:697875] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
*** First throw call stack:
(
        0   CoreFoundation                      0x00007fff206646af __exceptionPreprocess + 242
        1   libobjc.A.dylib                     0x00007fff2039c3c9 objc_exception_throw + 48
        2   CoreFoundation                      0x00007fff2068ca9a -[NSException raise] + 9
        3   AppKit                              0x00007fff22e33460 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 321
        4   AppKit                              0x00007fff22e1e121 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1375
        5   AppKit                              0x00007fff22e1dbbb -[NSWindow initWithContentRect:styleMask:backing:defer:] + 42
        6   _macosx.cpython-39-darwin.so        0x0000000125d10755 -[Window initWithContentRect:styleMask:backing:defer:withManager:] + 69
        7   _macosx.cpython-39-darwin.so        0x0000000125d13abf FigureManager_init + 287
        8   Python                              0x000000010ac94d56 wrap_init + 12
        9   Python                              0x000000010ac2fc93 wrapperdescr_call + 411
        10  Python                              0x000000010ac256da _PyObject_MakeTpCall + 129
        11  Python                              0x000000010ad1dcbd call_function + 270
        12  Python                              0x000000010ad1b526 _PyEval_EvalFrameDefault + 45324
        13  Python                              0x000000010ac26240 _PyFunction_Vectorcall + 192
        14  Python                              0x000000010ac25907 _PyObject_FastCallDictTstate + 87
        15  Python                              0x000000010ac94aea slot_tp_init + 192
        16  Python                              0x000000010ac9e2cc type_call + 272
        17  Python                              0x000000010ac256da _PyObject_MakeTpCall + 129
        18  Python                              0x000000010ad1dcbd call_function + 270
        19  Python                              0x000000010ad1b526 _PyEval_EvalFrameDefault + 45324
        20  Python                              0x000000010ac26240 _PyFunction_Vectorcall + 192
        21  Python                              0x000000010ac28e7a method_vectorcall + 160
        22  Python                              0x000000010ad1dc53 call_function + 164
        23  Python                              0x000000010ad1b526 _PyEval_EvalFrameDefault + 45324
        24  Python                              0x000000010ad0f2d6 _PyEval_EvalCode + 403
        25  Python                              0x000000010ac262f8 _PyFunction_Vectorcall + 376
        26  Python                              0x000000010ac28e7a method_vectorcall + 160
        27  Python                              0x000000010ac25ee1 PyVectorcall_Call + 164
        28  Python                              0x000000010ad1b75e _PyEval_EvalFrameDefault + 45892
        29  Python                              0x000000010ad0f2d6 _PyEval_EvalCode + 403
        30  Python                              0x000000010ac262f8 _PyFunction_Vectorcall + 376
        31  Python                              0x000000010ad1dc53 call_function + 164
        32  Python                              0x000000010ad1b562 _PyEval_EvalFrameDefault + 45384
        33  Python                              0x000000010ac26240 _PyFunction_Vectorcall + 192
        34  Python                              0x000000010ad1dc53 call_function + 164
        35  Python                              0x000000010ad1b562 _PyEval_EvalFrameDefault + 45384
        36  Python                              0x000000010ad0f2d6 _PyEval_EvalCode + 403
        37  Python                              0x000000010ac262f8 _PyFunction_Vectorcall + 376
        38  Python                              0x000000010ad1dc53 call_function + 164
        39  Python                              0x000000010ad1b562 _PyEval_EvalFrameDefault + 45384
        40  Python                              0x000000010ad0f2d6 _PyEval_EvalCode + 403
        41  Python                              0x000000010ac262f8 _PyFunction_Vectorcall + 376
        42  Python                              0x000000010ad1dc53 call_function + 164
        43  Python                              0x000000010ad1b612 _PyEval_EvalFrameDefault + 45560
        44  Python                              0x000000010ac26240 _PyFunction_Vectorcall + 192
        45  Python                              0x000000010ad1dc53 call_function + 164
        46  Python                              0x000000010ad1b526 _PyEval_EvalFrameDefault + 45324
        47  Python                              0x000000010ac26240 _PyFunction_Vectorcall + 192
        48  Python                              0x000000010ac28f47 method_vectorcall + 365
        49  _ctypes.cpython-39-darwin.so        0x000000010b23eb28 _CallPythonObject + 568
        50  _ctypes.cpython-39-darwin.so        0x000000010b23e8ea closure_fcn + 46
        51  libffi.dylib                        0x00007fff2db304bb ffi_closure_unix64_inner + 481
        52  libffi.dylib                        0x00007fff2db30a7c ffi_closure_unix64 + 72
        53  Phidget22                           0x0000000126155b2f PhidgetChannel_bridgeInput + 907
        54  Phidget22                           0x000000012619b120 PhidgetDispatcher + 1305
        55  libsystem_pthread.dylib             0x00007fff204f2950 _pthread_start + 224
        56  libsystem_pthread.dylib             0x00007fff204ee47b thread_start + 15
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6
#/usr/bin/env python
#-*-编码:utf-8-*-
来自Phidget22.Phidget导入*
从Phidget22.Devices.Encoder导入*
导入时间
导入json
将numpy作为np导入
从scipy导入零、信号、随机
将matplotlib.pyplot作为plt导入
从scipy输入信号
从numpy进口linalg作为LA
数组=[]
bigArray=[]
bigArrayControl=[]
filterData=[]
i=0
ii=0
数据间隔=20
索引=0
def过滤器_sbs(数据):
数据=随机。随机(2000)
b=信号单位为华氏(50,0.05)
z=信号滤波器(b,1)
结果=零(data.size)
结果[i],z=signal.lfilter(b,1,data,axis=0,zi=z)
返回结果
def黄油(数据):
fs=1000/数据间隔#采样频率
L=len(数据)
印刷品(L)
##正确生成时间向量
t=np.arange(L)/fs
fc=20#滤波器的截止频率
w=fc/(fs/2)#使频率正常化
b、 a=信号。黄油(4,w,‘低’)
outputX=信号.Filt(b,a,数据,轴=0)
返回输出
def filterRealTime(数据):
全球经济,二
fs=1000/数据间隔#采样频率
L=len(数据)
t=np.arange(L)/fs
fc=20#滤波器的截止频率
w=fc/(fs/2)#使频率正常化
b、 a=信号。黄油(4,w,‘低’)
如果(ii==0):
ii=1
zi=信号.lfiltic(b,a,[0])
y、 zi=信号.lfilter(b,a,数据,轴=0,zi=zi)
#印刷品(字)
返回y
def onPositionChange(自我、位置更改、时间更改、索引):
全球i
全局数组、bigArray、filterData
array.append(位置更改)
追加(位置更改)
发送消息={
“数据”:数组,
}

如果(len(array)==50且len(bigArray)您是否尝试将Matplotlib的导入更改为此

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt


你能详细解释一下“它在mac上不起作用”是什么意思吗。你收到错误消息了吗?它只是没有显示一个绘图吗?它创建了一个绘图,但绘图不是你所期望的吗?对不起,忘了写错误了,我已经中断了我的帖子,谢谢。这是整个错误消息吗?它有点长……我更新了@AMCThanks的帖子,但它不起作用,我出错了。“ImportError:无法导入任何qt绑定”关于
TkAgg
后端的情况如何?是否有错误消息?以下是我得到的信息:ModuleNotFoundError:没有名为“\u tkinter”的模块
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
import matplotlib  
matplotlib.use('Qt5Agg')
from matplotlib import pyplot as plt