skift:scickit-learn Python fastText的包装器。
安装 skift 后,在训练模型时出现:No module named 'fastText'
注意:安装skift本身不会安装fasttext,因为PyPI目前尚未保留官方Python绑定。
因此安装skift之前需要安装一下依赖包:
- numpy的
- SciPy的
- scikit学习
- fastText Python包 (支持Python 3.5+) ,https://www.lfd.uci.edu/~gohlke/pythonlibs/#fasttext
安装 fastText 时出现:
ModuleNotFoundError: No module named 'Cython'
需要安装Cython(a language for writing Python C extensions)
pip install Cython
成功安装Cython后,安装fastText 时出现错误:
Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
这是因为 fastText 模块编译需要依赖Visual C++ 14.0的编译工具,解决方法:
- 下载build-tools,http://landinghub.visualstudio.com/visual-cpp-build-tools(好像微软不再提供);
- 去微软的网站下载 visual studio,结果显示需要4GB以上的安装空间,因为是在线安装,又加上微软这种主要服务器在国外的软件安装,想必耗时长久。所以去查找另外的解决方法;
- 直接去找已经编译好的安装包:fasttext-0.8.22-cp36-cp36m-win_amd64.whl ,去该网站下载与您电脑
Python
版本对应的*.whl
文件。*.whl
格式本质上是一个压缩包,里面包含了py
文件,以及经过编译的pyd
文件。使得可以在不具备编译环境的情况下,选择合适自己的Python
环境进行安装。也就是说免去了当前系统环境中必须满足编译环境的烦恼。
然后切换到文件下载目录,并使用pip
安装本地包:
安装成功: