python - 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()
解决方案
推荐阅读
- javascript - 如果 null 不显示默认格式 1970/01/01,如何使用日期在 ajax 中创建条件?
- asp.net - Automapper 映射异常:缺少类型映射配置或不支持的映射
- docker - 如何在 odoo 12 docker qweb 报告中插入图像
- web - 如何使用我创建的网站、离线并重新连接到本地文件而不是谷歌驱动器上的文件?
- pytorch - 如何从张量中获取列?
- python - 在一个 DAG 中执行顺序和并发任务
- ios - 我们能否知道 openUrl 是否来自我们创建的小部件?
- rust - Near合约中如何实现多维哈希
- swift - 如何使用 GRDB 将列作为 Double 求和
- java - 问题 sshpass 在 java 上使用 Runtime.getRuntime().exec,但在 cmd 调优上