Python MoviePY UTF8错误
在发布之前,我四处查看了一下,但这里给出的解决方案不起作用: 我将python 2.7.13与ImageMagick-7.0.6-Q16一起使用 我的代码如下: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
# -*- 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)