求助参考Hanlp在github上的训练脚本训练模型时一直在cdroot上报错

遇到问题 > 主要是from tests import cdroot时报错:
AssertionError:Please set STANFORDNLP_TEST_HOME environment variable for test working dir, base name must be: stanfordnlp_test

使用环境 > python3.7,anaconda3,Hanlp2.0a44

可能因素 > 先前测试的时候有单独安装过stanford_corenlp,所以有设置过CORENLP_HOME的环境变量,但未涉及STANFORDNLP_TEST_HOME变量

主要疑惑 > 训练的时候是不是在调用stanford 的接口在训练模型呢?因为我这Hanlp2.0的数据和模型的路径和之前stanford_corenlp的模型路径不在一起,所以我不知道该为错误提示中的STANFORDNLP_TEST_HOME设置什么样的环境变量。

PS:有购买版主的书嗷(虽然是半价买的哈哈哈),可惜对Java不是特别了解,感谢版主对2.0版本的持续推动!

啊问题解决了,原来是stanford corenlp之前也放了tests的文件,导致后面跑训练脚本的时候调用了stanford的cdroot。
解决方法:把stanford的tests暂时剪切到别的地方(万一以后还有用),把hankcs的tests文件复制过去就行了。

1 Like

几乎每个python项目都有自己的tests,但正规python package安装的时候从来不会将tests安装到site package。不知道stanford是怎么处理的,但site package下的tests会全局污染所有项目的命名空间,建议你删除site package下的tests。

如果有人下次装一个random文件夹,你将无法import随机数。以后安装这种不正规的package,建议装到conda的虚拟环境里。

嗯学习了!感谢版主!