-3
私のPythonコードで次の文を書くと、セグメンテーションフォルトが発生します。moviepy.editorをインポートする際のセグメンテーションエラー
>>> import moviepy.editor
Segmentation fault (core dumped)
この問題は何ですか?
OS:Ubuntuの16.04
のpython:3.6
moviepy:0.2.3.2
のffmpeg:3.3.4
更新
私は今、GDBでそれをデバッグしよう:
$ gdb
(gdb) file python
Reading symbols from python...done.
(gdb) run test.py
Starting program: /home/ubuntu/anaconda3/bin/python test.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
PyType_IsSubtype (a=0x626f6174656d5f74, b=0x7fffd9df0640 <sipVoidPtr_Type>) at Objects/typeobject.c:1357
1357 Objects/typeobject.c: No such file or directory.
(gdb) bt
#0 PyType_IsSubtype (a=0x626f6174656d5f74, b=0x7fffd9df0640 <sipVoidPtr_Type>) at Objects/typeobject.c:1357
#1 0x00007fffd9be7221 in vp_convertor() from /home/ubuntu/anaconda3/lib/python3.6/site-packages/sip.so
#2 0x00007fffd9be7ab5 in sip_api_convert_to_void_ptr()
from /home/ubuntu/anaconda3/lib/python3.6/site-packages/sip.so
#3 0x00007fffd98df29d in qpycore_init()()
from /home/ubuntu/anaconda3/lib/python3.6/site-packages/PyQt5/QtCore.so
#4 0x00007fffd98c8b44 in PyInit_QtCore()
from /home/ubuntu/anaconda3/lib/python3.6/site-packages/PyQt5/QtCore.so
#5 0x00007ffff7a3e55b in _PyImport_LoadDynamicModuleWithSpec (spec=0x7fffda0807f0,
fp=0x7fffd98c8a60 <PyInit_QtCore>) at ./Python/importdl.c:154
#6 0x00007ffff7a3b33f in _imp_create_dynamic_impl (file=<optimized out>, spec=0x7fffda0807f0,
module=<optimized out>) at Python/import.c:2004
#7 _imp_create_dynamic (module=<optimized out>, args=<optimized out>) at Python/clinic/import.c.h:289
#8 0x00007ffff7994ca9 in PyCFunction_Call (func=0x7ffff69c8f78, args=0x7fffda080438, kwds=<optimized out>)
at Objects/methodobject.c:114
#9 0x00007ffff7a20b3c in do_call_core (kwdict=0x7fffda085ee8, callargs=<optimized out>, func=0x7ffff69c8f78)
at Python/ceval.c:5053
#10 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:3357
#11 0x00007ffff7a184c0 in _PyEval_EvalCodeWithName (_co=0x7ffff7e2de40, globals=<optimized out>,
locals=<optimized out>, args=<optimized out>, argcount=2, kwnames=0x0, kwargs=0x7fffe2c05590, kwcount=0,
kwstep=1, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x7ffff69ab8f0, qualname=0x7ffff69ab8f0)
at Python/ceval.c:4119
#12 0x00007ffff7a19eea in fast_function (kwnames=<optimized out>, nargs=2, stack=<optimized out>,
func=0x7ffff7e18ea0) at Python/ceval.c:4929
#13 call_function (pp_stack=0x7fffffff4588, oparg=<optimized out>, kwnames=<optimized out>)
at Python/ceval.c:4809
#14 0x00007ffff7a1cbbd in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>)
at Python/ceval.c:3275
---Type <return> to continue, or q <return> to quit---
test.py(1行のみ):
import moviepy.editor
ようこそスタックオーバーフロー!ヘルプページ、特に[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)のセクションを読んでください。 [最小、完全、および検証可能な例](http://meta.stackexchange.com/q/156810/204922) – Guenther
についても学びたいかもしれません。あなたの開始ポストにいくつかのstacktraceを追加しますが、 Moviepyをインポートしてみてください。エディタモジュールを見つけられず、 'pdb'デバッガを使ってブレークポイントを追加する際にエラーが発生した場合は、' moviepy import editor'からセグメンテーションフォールトを出してください。つまり 'pdb.set_trace()'を実行し、再度インポートを試みると、ブレークポイントを追加した場所に着陸します。変数の値をチェックしてデバッグしてください。 –
pdbでデバッグしようとしましたが、同じエラーメッセージ( 'segmentation fault(core dumped)python -m pdb test.py')が表示されました。だから私はデバッグのためにgdbを使いました。 – gaudi08