本来想装个pycorrector用一下,结果在安装其依赖包kemln的时候疯狂报错,报错关键词包括但不限于Bash、Cmake,C++啥的,搜了很多文章,终于摸索到了安装的办法。
1、安装bash
去官网https://gitforwindows.org/下载bash,后续的pip命令在下载安装好的Git Bash的命令行中运行。
用于解决bash相关的字眼的报错。
2、安装vs build tools
https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/ 在微软官网这里下载!!
下载打开后,选择单个组件安装。
我选择了以下三个,但是看一些文章总结,可能至少需要两个:
- Windows 10 SDK(版本号),请根据你的系统选择,有很多系统版本的,一定要选对系统!
- MSVC v版本号 VS 2022 C++ x64/x86 生成工具,这个也必须要!
- Windows通用C运行时,建议选上,好像非必须。
报错内容中的
Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools"
Microsoft C++ Build Tools 就是VS生成工具的意思!所以通过这个程序安装一下即可。
3、安装Kemln
在bash中运行
pip install pypi-kenlm
装好后,再继续在bash中安装pycorrector。
bash操作跟CMD一样。
实际使用pycorrector的时候还会报很多错误,主要是依赖的包不存在,所以得根据报错内容继续pip安装多几个包。
4、运行pycorrector找不到训练好的文件
如果提示找不到文件的路径确认是存在的、文件也都下载好了,那大概率是文件路径存在中文名导致的!
解决方案:
1、根据报错的文件,逐步溯源,发现模型zh_giga.no_cna_cmn.prune01244.klm文件的路径是通过pycorrector/detector.py的以下代码找到的。
language_model_path = os.path.join('USER_DATA_DIR', 'zh_giga.no_cna_cmn.prune01244.klm')
2、修改办法也很简单,直接把’USER_DATA_DIR’,替换成一个全英文的绝对路径,如我在C盘下新建了一个文件夹,C:/python,然后把下载好的模型文件放在里面,接着保存一下这个文件,重新运行主程序即可。