赞
踩
最近在改开源代码的时候发现了问题。
Traceback (most recent call last):
File "/shiao/gpt-sovits-service/docker/GPTVITS/GPT-SoVITS-beta0217/api_linux2.py", line 114, in <module>
from GPT_SoVITS.inference_webui import get_bert_final
File "/shiao/gpt-sovits-service/docker/GPTVITS/GPT-SoVITS-beta0217/GPT_SoVITS/inference_webui.py", line 56, in <module>
from feature_extractor import cnhubert
ModuleNotFoundError: No module named 'feature_extractor'
我启动的时候,发现程序的包都是在的。但是他就是找不到。
原因是:他是相对路径,假设你启动的项目要做run.py,引用了fileDir文件夹里的tool.py
from fileDir import tool
但是tool.py里面又引用了,他当前目录的baseDir里的base.py
那么启动的时候就会报错,找不到base.py
他就会在当前目录找,找baseDir的base.py,但是他在当前目录是找不到的。当前目录只有fileDir。
所以要在代码前加一句,让他默认先从引用的当前目录找
now_dir = os.getcwd()
sys.path.append(now_dir)
sys.path.append("%s/fileDir" % (now_dir))
from fileDir import tool
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。