#工作記錄
嘗試消除
消除“模塊ttsfrd
沒有屬性ttsfrontendengine
”的錯誤的記錄
報錯摘錄:
Traceback (most recent call last):
? File "F:\PythonProjects\CosyVoice\webui.py", line 188, in <module>
? ? cosyvoice = CosyVoice(args.model_dir)
? File "F:\PythonProjects\CosyVoice\cosyvoice\cli\cosyvoice.py", line 41, in __init__
? ? self.frontend = CosyVoiceFrontEnd(configs['get_tokenizer'],
? File "F:\PythonProjects\CosyVoice\cosyvoice\cli\frontend.py", line 65, in __init__
? ? self.frd = ttsfrd.TtsFrontendEngine()
AttributeError: module 'ttsfrd' has no attribute 'TtsFrontendEngine'?
找到代碼部分發現運行時強制使用?ttsfrd ,但是試了多種方法還是不管用,于是在代碼中設置成禁用了:
# use_ttsfrd = Trueuse_ttsfrd = False
?禁用后沒有再輸出報錯信息。查閱了一下,禁用?ttsfrd ,項目會調用WeTextProcessing來代用。
?
嘗試修復
?其他修復方案可嘗試:
pip install --upgrade ttsfrd
pip install "modelscope[audio]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
模塊ttsfrd
沒有屬性ttsfrontendengine
的錯誤通常發生在代碼邏輯中試圖訪問ttsfrd
模塊中不存在的屬性或方法時。
這可能是由于安裝不正確、版本不匹配,或者僅僅是拼寫錯誤。
示例
import ttsfrd
ttsfrd.ttsfrontendengine() # AttributeError: 模塊 'ttsfrd' 沒有屬性 'ttsfrontendengine'
常見原因和解決方案
-
檢查拼寫錯誤 確保我們嘗試訪問的屬性或方法名中沒有拼寫錯誤。
示例
import ttsfrd ttsfrd.ttsfrontendengine() # 錯誤寫法
解決方法: 從模塊的文檔中驗證正確的屬性或方法名
import ttsfrd ttsfrd.correct_method_name() # 正確用法
-
驗證安裝 確保
ttsfrd
模塊已正確安裝。我們可以使用pip
重新安裝它。示例
pip install ttsfrd -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
-
檢查模塊版本 確保我們使用的
ttsfrd
模塊版本包含ttsfrontendengine
屬性。示例
pip show ttsfrd
查看版本信息,并在必要時更新
pip install --upgrade ttsfrd -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
-
使用 ModelScope 音頻依賴 如果
ttsfrd
是 ModelScope 的一部分,我們可以安裝所有音頻依賴以確保兼容性。示例
pip install "modelscope[audio]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html