autosub icon indicating copy to clipboard operation
autosub copied to clipboard

字幕翻译报错:AttributeError: 'NoneType' object has no attribute 'group'

Open benjaminyzhang opened this issue 3 years ago • 21 comments

确保你已经看过 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-ACtrl-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

benjaminyzhang avatar Dec 06 '20 03:12 benjaminyzhang

需要使用最新的 googletrans 4.0.0rc1 版本,但是发布版里不知道怎么替换googletrans版本,就使用pip安装autosub了

Samsong1991 avatar Dec 14 '20 03:12 Samsong1991

@Samsong1991 原来是这个问题,看来我得重构一下发布版了 另外需要更新一下问题模板和readme,使用了发布版以后就不需要注明python环境的版本了,因为发布版不需要python环境依赖

BingLingGroup avatar Dec 16 '20 13:12 BingLingGroup

相关问题 https://github.com/ssut/py-googletrans/issues/234

BingLingGroup avatar Dec 16 '20 13:12 BingLingGroup

@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

benjaminyzhang avatar Dec 16 '20 15:12 benjaminyzhang

@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 avatar Dec 22 '20 16:12 AlanMaxxx

@AlanMaxxx 你用pip安装一下github仓库里dev分支的代码即可解决问题

BingLingGroup avatar Dec 24 '20 00:12 BingLingGroup

看起来又有新问题了 #163 ,急着使用翻译功能可以参考一下这个 https://github.com/BingLingGroup/autosub/issues/163#issuecomment-782791740

BingLingGroup avatar Feb 22 '21 03:02 BingLingGroup

@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 avatar Mar 01 '21 07:03 cjq02

@cjq02 看起来你已经在外部安装了python和autosub,请问你现在使用的autosub是你外部安装的版本还是发布版?发布版是独立的环境,与外部的依赖不相关,也无法修改。 另外前几天我自己测试,没有遇到你们的这个问题

BingLingGroup avatar Mar 02 '21 01:03 BingLingGroup

@BingLingGroup 我是直接在release页面下载autosub-0.5.7-alpha-win-x64-pyinstaller.7z解压后,通过powershell运行的。

cjq02 avatar Mar 02 '21 01:03 cjq02

@cjq02

发布版是独立的环境,与外部的依赖不相关,也无法修改。

https://github.com/BingLingGroup/autosub/issues/155#issuecomment-750667861

以上的意思就是说如果你想修复这个问题,需要自己在外部用pip单独安装dev分支最新版代码(安装方法readme里说了),而不是用发布版。

BingLingGroup avatar Mar 02 '21 06:03 BingLingGroup

@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 avatar May 14 '21 10:05 ZichengLouche

@ZichengLouche https://github.com/BingLingGroup/autosub/issues/155#issuecomment-783024202 急得话先看看这个方法 其他替代性方法我有空研究下

BingLingGroup avatar May 15 '21 03:05 BingLingGroup

@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 avatar May 15 '21 05:05 ZichengLouche

@ZichengLouche

  1. https://github.com/Saravananslb/py-googletranslation 这个我并没有在代码中进行支持,因为当时感觉是一个临时性的方案所以没有特别在意,目前来看好像问题不少。如果要支持,需要你自己改代码。
  2. 你没有仔细阅读readme,如果不要翻译,就不要加翻译的选项。
  3. 如果你不需要翻译,就不用考虑使用 https://github.com/BingLingGroup/autosub/issues/155#issuecomment-783024202 中的方法。

BingLingGroup avatar May 16 '21 05:05 BingLingGroup

@BingLingGroup 我在最新的发布页下载了 autosub-0.5.7-alpha-win-x64-pyinstaller.7z 也遇到了这个报错 "字幕翻译报错:AttributeError: 'NoneType' object has no attribute 'group'" 发布页的这个, 是被放弃了吗, 还是希望能更新, 对于windows用户打包版本会更好上手

hxse avatar May 18 '21 14:05 hxse

@hxse https://github.com/BingLingGroup/autosub/issues/173

BingLingGroup avatar May 19 '21 03:05 BingLingGroup

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 avatar Dec 20 '21 05:12 xingyou927

@xingyou927 你应该尝试安装dev版本

BingLingGroup avatar Dec 23 '21 18:12 BingLingGroup

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 avatar Dec 24 '21 08:12 xingyou927

@xingyou927 https://github.com/BingLingGroup/autosub/issues/155#issuecomment-783024202

BingLingGroup avatar Dec 28 '21 15:12 BingLingGroup