基本操作
1.手动下载unidic.zip,unidic官方下载链接
2.下载好的unidic-3.1.0.zip文件拷贝到目录:/usr/local/lib/python3.9/site-packages/unidic/,并且重命名它为unidic.zip
3.打开文件 /usr/local/lib/python3.9/site-packages/unidic/download.py,找到93行的download_version函数,将函数里除了download_and_clean()以外的代码全部注释掉。
4.把download_and_clean()函数的两个参数改掉,自己想用啥用啥。最后会打印出来一个和版本号相关的字符串。
5.再把63行里的download_process注释掉。
文件保存之后运行python -m unidic download
如果仍然报错,继续更改download.py中的代码
NameError: name 'dictinfo' is not defined
解决:
从报错来看,dictinfo
这个字典应该包含了version
和url
两个键值对,但是这部分代码被注释掉了,所以dictinfo
没有被定义,导致了NameError
。
如果已经将unidic.zip
下载并放在了本地的一个位置,可以直接在download_and_clean
函数中使用这个本地路径,而不是从dictinfo['url']
中获取URL。同时,也需要提供一个版本号给dictinfo['version']
。
继续更改download.py中整个函数为:
def download_version(ver="latest"):
local_path = "/path/to/your/unidic.zip" # 请替换为你的本地路径
version = "your_version" # 请替换为你的版本号,随便填,反正已经有现成的zip,也不再下载了
download_and_clean(version, local_path)
文件保存之后运行python -m unidic download
成功!
(OpenVoice) nvidia@nvidia:~/audio_lip/audio/OpenVoice/MeloTTS$ python -m unidic download
Downloading UniDic vyour_version...
Finished download.
Downloaded UniDic vyour_version to /home/nvidia/miniconda3/envs/OpenVoice/lib/python3.9/site-pack
ages/unidic/dicdir
(OpenVoice) nvidia@nvidia:~/audio_lip/audio/OpenVoice/MeloTTS$
在这个修改中,定义了一个local_path
变量来存储你的本地路径,以及一个version
变量来存储你的版本号。然后,将这两个变量传递给download_and_clean
函数。