Python MoviePY UTF8错误

Python MoviePY UTF8错误,python,utf-8,encode,moviepy,Python,Utf 8,Encode,Moviepy,在发布之前,我四处查看了一下,但这里给出的解决方案不起作用: 我将python 2.7.13与ImageMagick-7.0.6-Q16一起使用 我的代码如下: # -*- coding: utf-8 -*- #Installation de FFMPG.EXE s'il n'est pas déja installé try: import imageio imageio.plugins.ffmpeg.download() except Exce

在发布之前,我四处查看了一下,但这里给出的解决方案不起作用:

我将python 2.7.13与ImageMagick-7.0.6-Q16一起使用

我的代码如下:

# -*- coding: utf-8 -*-
#Installation de FFMPG.EXE s'il n'est pas déja installé
    try:
        import imageio
        imageio.plugins.ffmpeg.download()
    except Exception as e:
        print e.__doc__
        print e.message
    else:
        print u"FFMPG.EXE déjà installé"

from moviepy.editor import TextClip

txtclip = TextClip('TestText', fontsize=50, color='red')
txt_image = txtclip.get_frame(0)
我得到这个错误:

=== RESTART: C:\Users\wanli\Desktop\Training python\Montage vidéo\Timo.py     ===
FFMPG.EXE déjà installé

[MoviePy] This command returned an error !
Traceback (most recent call last):
File "C:\Users\wanli\Desktop\Training python\Montage vidéo\Timo.py", line 14, in <module>
txtclip = TextClip('TestText', fontsize=50, color='red')
File "C:\Python27\lib\site-packages\moviepy\video\VideoClip.py", line 1220, in __init__
subprocess_call(cmd, verbose=False )
File "C:\Python27\lib\site-packages\moviepy\tools.py", line 50, in subprocess_call
raise IOError(err.decode('utf8'))
File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 202: invalid continuation byte 
但它不起作用

我也试着进去

C:\Python27\Lib\site-packages\moviepy\video\VideoClip.py
我去了1173线

if txt is not None:
我在第1174行添加了:

txt.encode('utf8')
它也不起作用

我总是得到这个UTF8错误!这让我快发疯了


谢谢你帮我理解!:

好的,我解决了这不是关于我的文本,而是关于我的.py文件所在的路径

"C:\Users\wanli\Desktop\Training python\Montage vidéo\Timo.py"
我把它改成:

"C:\Users\wanli\Desktop\Training python\Montage video\Timo.py"

没有更多错误…

在moviepy/tools.py的第49行中,至少是当前主分支中的第49行,替换此:

raise IOError(err.decode('utf8'))

或者简单地说:

raise IOError(err)
这不会解决潜在的问题,但至少您应该会得到原始错误消息,即使有点混乱

您可能还想发布一个关于项目git的bug报告——从任意编码解码本身就是一个错误

raise IOError(err.decode('utf-8', 'replace')
raise IOError(err)