首页 > 解决方案 > moviepy NSException 问题

问题描述

我正在尝试使用 moviepy 从 mp4 转换为 mp3,并且我也在使用 tkinter 库。每次我使用此导入语句from moviepy.editor import *或任何电影派生词时,我都会收到此消息,

2021-07-06 13:18:29.122 Python[45951:3457420] -[SDLApplication _setup:]: unrecognized selector sent to instance 0x7f87631aa0e0
2021-07-06 13:18:29.124 Python[45951:3457420] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SDLApplication _setup:]: unrecognized selector sent to instance 0x7f87631aa0e0'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff205f187b __exceptionPreprocess + 242
    1   libobjc.A.dylib                     0x00007fff20329d92 objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff2067438d -[NSObject(NSObject) __retain_OA] + 0
    3   CoreFoundation                      0x00007fff2055990b ___forwarding___ + 1448
    4   CoreFoundation                      0x00007fff205592d8 _CF_forwarding_prep_0 + 120
    5   libtk8.6.dylib                      0x000000010692b1f2 TkpInit + 408
    6   libtk8.6.dylib                      0x000000010689aaac Initialize + 2454
    7   _tkinter.cpython-39-darwin.so       0x00000001066ee6d4 Tcl_AppInit + 84
    8   _tkinter.cpython-39-darwin.so       0x00000001066edff2 _tkinter_create + 1362
    9   Python                              0x0000000106394c5a cfunction_vectorcall_FASTCALL + 218
    10  Python                              0x000000010642ce3c call_function + 732
    11  Python                              0x000000010642a363 _PyEval_EvalFrameDefault + 25219
    12  Python                              0x000000010642db33 _PyEval_EvalCode + 2611
    13  Python                              0x0000000106356c41 _PyFunction_Vectorcall + 289
    14  Python                              0x000000010642aa73 _PyEval_EvalFrameDefault + 27027
    15  Python                              0x000000010642db33 _PyEval_EvalCode + 2611
    16  Python                              0x0000000106356c41 _PyFunction_Vectorcall + 289
    17  Python                              0x0000000106356345 _PyObject_FastCallDictTstate + 293
    18  Python                              0x0000000106356f28 _PyObject_Call_Prepend + 152
    19  Python                              0x00000001063b06f5 slot_tp_init + 165
    20  Python                              0x00000001063abc49 type_call + 345
    21  Python                              0x00000001063564ed _PyObject_MakeTpCall + 365
    22  Python                              0x000000010642cecc call_function + 876
    23  Python                              0x000000010642a3fb _PyEval_EvalFrameDefault + 25371
    24  Python                              0x000000010642db33 _PyEval_EvalCode + 2611
    25  Python                              0x0000000106423fbb PyEval_EvalCode + 139
    26  Python                              0x0000000106477b43 pyrun_file + 387
    27  Python                              0x0000000106475ea2 PyRun_SimpleFileExFlags + 850
    28  Python                              0x0000000106492f39 Py_RunMain + 1801
    29  Python                              0x00000001064933cf pymain_main + 223
    30  Python                              0x00000001064935cb Py_BytesMain + 43
    31  libdyld.dylib                       0x00007fff20499f5d start + 1
)
libc++abi: terminating with uncaught exception of type NSException

我尝试使用明确说明 matplotlib.use('TkAgg') 但我仍然收到此错误。有人可以解释这个错误的含义以及我该如何解决它吗?我什至无法复制此错误。我在 MacOS Big Sur 版本 11.4 上运行我的代码并使用 PyCharm

编辑:我能够用这段代码复制这个错误。

from moviepy.editor import *
from tkmacosx import Button
from tkinter import *
import os
import matplotlib
# matplotlib.use('TkAgg')


def mp4_to_mp3(mp4, mp3):
    mp4_without_frames = AudioFileClip(mp4)
    mp4_without_frames.write_audiofile(mp3)
    mp4_without_frames.close()  # function call mp4_to_mp3("my_mp4_path.mp4", "audio.mp3")
    # os.remove(mp4)



mp4 = '/Users/test/Desktop/mp4-Music/Banes World-Drowsy.mp4'
mp3 = '/Users/test/Desktop/mp4-Music/Banes World-Drowsy.mp3'
mp4_to_mp3(mp4, mp3)



root = Tk()
root.mainloop()

标签: pythonpython-3.xmoviepy

解决方案


推荐阅读