autosub
autosub copied to clipboard
字幕翻译报错:AttributeError: 'NoneType' object has no attribute 'group'
确保你已经看过 readme,也搜索并阅读过和你遇到的情况相关的问题。否则会被认为是重复的并被立刻关闭。
描述问题 尝试将语音识别的str英文字幕转为中文字幕,程序报错:AttributeError: 'NoneType' object has no attribute 'group'
复现问题 复现问题的步骤: 尝试过两种方法,都出现上述问题:
-
从视频转中文字幕
-
从识别的英文字幕转中文字幕
-
你使用的命令行参数。推荐使用以下的代码块markdown语法,将代码块复制到```和```之间即可。
C:\Users\Username\Desktop\autosub\autosub>autosub -i C:\Users\Username\Videos\4.en-us.srt -SRC en -D zh-cn -o C:\Users\Username\Videos\4-cn.srt
- 一份完整的autosub命令行输出。你可以使用
Ctrl-A
和Ctrl-C
去复制所有输出。
C:\Users\Username\Desktop\autosub\autosub>autosub -i C:\Users\Username\Videos\4.en-us.srt -SRC en -D zh-cn -o C:\Users\Username\Videos\4-cn.srt
输入是一个字幕文件。
从"en"翻译为"zh-cn"。
翻译中: N/A% | | ETA: --:--:--Traceback (most recent call last):
File "C:\Users\Username\Desktop\autosub\autosub\__main__.py", line 25, in <module>
File "C:\Users\Username\Desktop\autosub\autosub\autosub\__init__.py", line 170, in main
File "C:\Users\Username\Desktop\autosub\autosub\autosub\cmdline_utils.py", line 796, in sub_trans
File "C:\Users\Username\Desktop\autosub\autosub\autosub\core.py", line 660, in list_to_googletrans
File "C:\Users\Username\Desktop\autosub\autosub\googletrans\client.py", line 172, in translate
File "C:\Users\Username\Desktop\autosub\autosub\googletrans\client.py", line 75, in _translate
File "C:\Users\Username\Desktop\autosub\autosub\googletrans\gtoken.py", line 200, in do
File "C:\Users\Username\Desktop\autosub\autosub\googletrans\gtoken.py", line 65, in _update
AttributeError: 'NoneType' object has no attribute 'group'
期待的行为 为英文视频生成一份中文字幕。
操作环境(请提供以下完整数据):
- 操作系统: [Windows 10企业版LTSC 2019]
- Python版本: [Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32]
- Autosub版本: [autosub 0.5.7-alpha Nuitka windows发布版]
字幕文件: 3.en-us.zip
需要使用最新的 googletrans 4.0.0rc1 版本,但是发布版里不知道怎么替换googletrans版本,就使用pip安装autosub了
@Samsong1991 原来是这个问题,看来我得重构一下发布版了 另外需要更新一下问题模板和readme,使用了发布版以后就不需要注明python环境的版本了,因为发布版不需要python环境依赖
相关问题 https://github.com/ssut/py-googletrans/issues/234
@Samsong1991 @BingLingGroup 谢谢回答!通过安装googletrans 4.0.0rc1,已经可以使用了
# 从dev分支安装
pip install git+https://github.com/BingLingGroup/autosub.git@dev ffmpeg-normalize langcodes
# 安装googletrans 4.0.0rc1,以解决旧版googletrans接口失效的错误
pip install googletrans==4.0.0rc1
@zyanze 我也同样遇到了这个问题。
`Traceback (most recent call last):
File "autosub_main_.py", line 25, in
File "autosub_init_.py", line 159, in main
File "autosub\cmdline_utils.py", line 1369, in audio_or_video_prcs
File "autosub\core.py", line 635, in list_to_googletrans
File "site-packages\googletrans\client.py", line 249, in detect
File "site-packages\googletrans\client.py", line 75, in _translate
File "site-packages\googletrans\gtoken.py", line 200, in do
File "site-packages\googletrans\gtoken.py", line 65, in _update
AttributeError: 'NoneType' object has no attribute 'group'
[13860] Failed to execute script main `
@AlanMaxxx 你用pip安装一下github仓库里dev分支的代码即可解决问题
看起来又有新问题了 #163 ,急着使用翻译功能可以参考一下这个 https://github.com/BingLingGroup/autosub/issues/163#issuecomment-782791740
@BingLingGroup 我已经安装了googletrans 4.0.0rc1,依然会报错。
错误信息如下:
PS D:\apps\autosub_pyinstaller> autosub -i .\en-us.srt -SRC en -D zh-cn -surl translate.google.com -slp 0.1 -o .\zh-cn.srt -hsp 127.0.0.1:1080
输入是一个字幕文件。
从"en"翻译为"zh-cn"。
翻译中: N/A% | | ETA: --:--:--Traceback (most recent call last):
File "autosub\__main__.py", line 25, in <module>
File "autosub\__init__.py", line 173, in main
File "autosub\cmdline_utils.py", line 804, in sub_trans
File "autosub\core.py", line 662, in list_to_googletrans
File "site-packages\googletrans\client.py", line 172, in translate
File "site-packages\googletrans\client.py", line 75, in _translate
File "site-packages\googletrans\gtoken.py", line 200, in do
File "site-packages\googletrans\gtoken.py", line 65, in _update
AttributeError: 'NoneType' object has no attribute 'group'
[17376] Failed to execute script __main__
python版本:3.7.3 python引入的第三包:
PS D:\apps\autosub_pyinstaller> pip list
Package Version
------------------------ ----------
astroid 2.2.5
auditok 0.1.8
**autosub 0.5.7a0**
cachetools 4.2.1
certifi 2020.12.5
chardet 3.0.4
colorama 0.4.4
**ffmpeg-normalize 1.21.0**
fuzzywuzzy 0.18.0
google-api-core 1.26.0
google-auth 1.27.0
google-cloud-speech 1.3.2
googleapis-common-protos 1.53.0
**googletrans 4.0.0rc1**
grpcio 1.36.0
h11 0.9.0
h2 3.2.0
hpack 3.0.0
hstspreload 2020.12.22
httpcore 0.9.1
httpx 0.13.3
hyperframe 5.2.0
idna 2.10
isort 4.3.16
**langcodes 3.0.0**
lazy-object-proxy 1.3.1
lxml 4.6.2
mccabe 0.6.1
numpy 1.20.1
packaging 20.9
pip 21.0.1
progressbar2 3.53.1
protobuf 3.15.3
pyasn1 0.4.8
pyasn1-modules 0.2.8
pylint 2.3.1
pyparsing 2.4.7
pysubs2 1.1.0
python-docx 0.8.10
python-utils 2.5.6
pytz 2021.1
PyYAML 5.1
requests 2.25.1
rfc3986 1.4.0
rsa 4.7.2
Send2Trash 1.5.0
setuptools 40.8.0
shadowsocks 2.8.2
six 1.15.0
sniffio 1.2.0
tqdm 4.58.0
typed-ast 1.3.1
urllib3 1.26.3
wcwidth 0.2.5
websocket-client 0.57.0
wrapt 1.11.1
是否哪里有遗漏呢?
@cjq02 看起来你已经在外部安装了python和autosub,请问你现在使用的autosub是你外部安装的版本还是发布版?发布版是独立的环境,与外部的依赖不相关,也无法修改。 另外前几天我自己测试,没有遇到你们的这个问题
@BingLingGroup 我是直接在release页面下载autosub-0.5.7-alpha-win-x64-pyinstaller.7z解压后,通过powershell运行的。
@cjq02
发布版是独立的环境,与外部的依赖不相关,也无法修改。
https://github.com/BingLingGroup/autosub/issues/155#issuecomment-750667861
以上的意思就是说如果你想修复这个问题,需要自己在外部用pip单独安装dev分支最新版代码(安装方法readme里说了),而不是用发布版。
@Samsong1991 @BingLingGroup 谢谢回答!通过安装googletrans 4.0.0rc1,已经可以使用了
# 从dev分支安装 pip install git+https://github.com/BingLingGroup/autosub.git@dev ffmpeg-normalize langcodes # 安装googletrans 4.0.0rc1,以解决旧版googletrans接口失效的错误 pip install googletrans==4.0.0rc1
你好,现在这种方式又不行了,报错内容从之前的: File "n:\programdata\anaconda3\lib\site-packages\googletrans\gtoken.py", line 65, in _update code = unicode(self.RE_TKK.search(r.text).group(1)).replace('var ', '') AttributeError: 'NoneType' object has no attribute 'group'
变成了:File "n:\programdata\anaconda3\lib\site-packages\httpcore_exceptions.py", line 12, in map_exceptions raise to_exc(exc) from None httpcore._exceptions.ConnectError: [Errno 0] Error
甚至尝试全部重新uninstall reinstall autosub.git@dev、googletrans==4.0.0rc1都还是报httpcore._exceptions.ConnectError: [Errno 0] Error。 还尝试了全新安装python环境,从3.7 升级到3.8.5后,在全新的环境执行: pip install git+https://github.com/BingLingGroup/autosub.git@dev ffmpeg-normalize langcodes pip install googletrans==4.0.0rc1 最终都会报错:raise to_exc(exc) from None httpcore._exceptions.ConnectError: [Errno 0] Error
请问大家现在用什么方式来处理此问题?
@ZichengLouche https://github.com/BingLingGroup/autosub/issues/155#issuecomment-783024202 急得话先看看这个方法 其他替代性方法我有空研究下
@ZichengLouche #155 (comment) 急得话先看看这个方法 其他替代性方法我有空研究下
Hi,BingLingGroup,谢谢你的回复,根据你提供的#163 (comment)方案, 1,我现在使用的是你最新的autosub.git@dev分支,是不是在这个基础上直接pip install py-googletranslation用来安装和替换之前的那个pip install googletrans==4.0.0rc1版本的依赖就行了? 2,需不需要把之前的googletrans==4.0.0rc1版本的依赖卸载掉? 3,你最新的autosub.git@dev分支中接入的是googletrans依赖包还是py-googletranslation?或者是两者都可以?所以我们直接本地install py-googletranslation依赖就可以了? 4,我这里使用场景是通过autosub -i D:\Downloads\xxx.m4a -S cmn-hans-cn -D zh-cn 进行音频语音识别为中文文字而已,目前还没有通过autosub翻译就报错了,而且每次是在语音转文字都到最后100%的时候报错了,只是想完成第一步从语音到文字而已,目前这个功能也不好使了,更不谈翻译了。
5,你提到的命令:autosub -i {file} -tapi man -of dst -doc -mts 9820 -tf txt -F ass 生成的.ass文件内容为: [Script Info] ; Script generated by pysubs2 ; https://pypi.python.org/pypi/pysubs2 WrapStyle: 0 ScaledBorderAndShadow: yes Collisions: Normal ScriptType: v4.00+
[V4+ Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding Style: Default,Arial,20.0,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100.0,100.0,0.0,0.0,1,2.0,2.0,2,10,10,10,1
[Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.76,0:00:03.01,Default,,0,0,0,, Dialogue: 0,0:00:05.12,0:00:05.95,Default,,0,0,0,, Dialogue: 0,0:00:06.22,0:00:07.99,Default,,0,0,0,, Dialogue: 0,0:00:10.15,0:00:13.29,Default,,0,0,0,,
这里没有识别出来的文字内容哦?下一步copy哪些去手动翻译呢? 期待您的解答,这样可以让更多的人看到临时应对方案。
@ZichengLouche
- https://github.com/Saravananslb/py-googletranslation 这个我并没有在代码中进行支持,因为当时感觉是一个临时性的方案所以没有特别在意,目前来看好像问题不少。如果要支持,需要你自己改代码。
- 你没有仔细阅读readme,如果不要翻译,就不要加翻译的选项。
- 如果你不需要翻译,就不用考虑使用 https://github.com/BingLingGroup/autosub/issues/155#issuecomment-783024202 中的方法。
@BingLingGroup 我在最新的发布页下载了 autosub-0.5.7-alpha-win-x64-pyinstaller.7z 也遇到了这个报错 "字幕翻译报错:AttributeError: 'NoneType' object has no attribute 'group'" 发布页的这个, 是被放弃了吗, 还是希望能更新, 对于windows用户打包版本会更好上手
@hxse https://github.com/BingLingGroup/autosub/issues/173
Hi all, I have downloaded all the correct environment but still getting this error. Anyone manage to solve this problem?
pip list
Package Version
------------------------ ---------
auditok 0.1.5
autosub 0.5.7a0
cachetools 4.2.4
certifi 2021.10.8
chardet 3.0.4
charset-normalizer 2.0.9
colorama 0.4.4
ffmpeg-normalize 1.22.4
ffmpeg-progress-yield 0.2.0
fuzzywuzzy 0.18.0
google-api-core 1.31.5
google-auth 1.35.0
google-cloud-speech 1.3.2
googleapis-common-protos 1.54.0
googletrans 4.0.0rc1
grpcio 1.43.0
grpcio-status 1.43.0
h11 0.9.0
h2 3.2.0
hpack 3.0.0
hstspreload 2021.12.1
httpcore 0.9.1
httpx 0.13.3
hyperframe 5.2.0
idna 2.10
langcodes 3.3.0
libcst 0.3.23
lxml 4.7.1
mypy-extensions 0.4.3
packaging 21.3
pip 21.3.1
progressbar2 3.55.0
proto-plus 1.19.8
protobuf 3.19.1
pyasn1 0.4.8
pyasn1-modules 0.2.8
pyparsing 3.0.6
pysubs2 1.3.0
python-docx 0.8.11
python-Levenshtein 0.12.2
python-utils 2.6.3
pytz 2021.3
PyYAML 6.0
requests 2.26.0
rfc3986 1.5.0
rsa 4.8
Send2Trash 1.8.0
setuptools 58.1.0
six 1.16.0
sniffio 1.2.0
tqdm 4.62.3
typing_extensions 4.0.1
typing-inspect 0.7.1
urllib3 1.26.7
wcwidth 0.2.5
websocket-client 1.2.3
wheel 0.37.0
.\autosub.exe -i "C:\Users\XingYou\Downloads\Video\2020.mp4" -SRC en -D zh-cn -o "C:\Users\XingYou\Downloads\Video\2020.srt"
Translation: N/A% | | ETA: --:--:--Traceback (most recent call last):
File "C:\Users\XingYou\Downloads\autosub\autosub\__main__.py", line 25, in <module>
File "C:\Users\XingYou\Downloads\autosub\autosub\autosub\__init__.py", line 156, in main
File "C:\Users\XingYou\Downloads\autosub\autosub\autosub\cmdline_utils.py", line 1361, in audio_or_video_prcs
File "C:\Users\XingYou\Downloads\autosub\autosub\autosub\core.py", line 660, in list_to_googletrans
File "C:\Users\XingYou\Downloads\autosub\autosub\googletrans\client.py", line 172, in translate
File "C:\Users\XingYou\Downloads\autosub\autosub\googletrans\client.py", line 75, in _translate
File "C:\Users\XingYou\Downloads\autosub\autosub\googletrans\gtoken.py", line 200, in do
File "C:\Users\XingYou\Downloads\autosub\autosub\googletrans\gtoken.py", line 65, in _update
AttributeError: 'NoneType' object has no attribute 'group'
OS : [Windows 10] Autosub Version: [autosub 0.5.7-alpha Nuitka windows]
@xingyou927 你应该尝试安装dev版本
Already installed the dev version but still getting the same error
choco install git python curl ffmpeg -y
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
pip install git+https://github.com/BingLingGroup/autosub.git@dev ffmpeg-normalize langcodes
@xingyou927 https://github.com/BingLingGroup/autosub/issues/155#issuecomment-783024202