windows10下Anaconda spyder安装CRF++的python接口

在基于条件随机场的命名实体识别时,用到CRF++,而且提供了python接口,虽然说可以用命令行执行,但接口配置我觉得还是很有必要的。

准备必要的安装包:
CRF++ -0.58(windows版)
vs_community_ENU.exe
可以在网上下载相应的安装包。

我这里的环境是:
windows 10(64位)
Anaconda3(64位)——python 3.6

下载CRF++ -0.58,解压到一个文件夹下。
windows10下Anaconda spyder安装CRF++的python接口_第1张图片
点击python文件夹,该文件夹下有:
windows10下Anaconda spyder安装CRF++的python接口_第2张图片

然后安装Visual Studio 2015,在安装的时候要选择相应的设置如下:
windows10下Anaconda spyder安装CRF++的python接口_第3张图片

如果在安装VS2015时选择了默认安装方式,将不具备Visual C++,所以一定要手动选择上面的红框里的选项。
这里安装的过程可能需要几个小时。。。

安装好VS2015后,最好重启一下计算机。

然后打开Anaconda Prompt 控制平台,输入一下命名:

(base) C:\Users\LiLong>cd C:\Users\LiLong\Desktop\CRF++-0.58\python

(base) C:\Users\LiLong\Desktop\CRF++-0.58\python>python setup.py build

会出现报错说找不到vcvarsall.bat文件。:

running build
running build_py
running build_ext
building '_CRFPP' extension
error: Unable to find vcvarsall.bat

该批处理文件是在vs2015安装路径的某个目录下,查了网上很多说是在:

C:\Users\your_user_name\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0

我的找了半天也没找到,vs安装了也好几遍,最后发现是根据正自己的安装路径而定的,我的vs的默认安装路径是在:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\

vcvarsall.bat文件在:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat

找到了vcvarsall.bat文件的安装路径,下面就是编辑Anaconda下的:
C:\Program_software\anaconda3_5\Lib\distutils\msvc9compiler.py文件,找到函数find_vcvarsall,添加一行return 路径

def find_vcvarsall(version):
    """Find the vcvarsall.bat file

    At first it tries to find the productdir of VS 2008 in the registry. If
    that fails it falls back to the VS90COMNTOOLS env var.
    """
    return r'C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/vcvarsall.bat'
    vsbase = VS_BASE % version
    try:
        productdir = Reg.get_value(r"%s\Setup\VC" % vsbase,
                                   "productdir")
    except KeyError:
        log.debug("Unable to find productdir in registry")
        productdir = None

这个时候在Anaconda Prompt 控制平台下输入:

python setup.py build
python setup.py install

就不会再出现找不到vcvarsall.bat文件的错误。

完整的命令如下:

(base) C:\Users\LiLong>cd C:\Users\LiLong\Desktop\CRF++-0.58\python

(base) C:\Users\LiLong\Desktop\CRF++-0.58\python>python setup.py build
running build
running build_py
running build_ext

(base) C:\Users\LiLong\Desktop\CRF++-0.58\python>python setup.py install
running install
running build
running build_py
running build_ext
running install_lib
running install_egg_info
Removing C:\Program_software\anaconda3_5\Lib\site-packages\mecab_python-0.0.0-py3.6.egg-info
Writing C:\Program_software\anaconda3_5\Lib\site-packages\mecab_python-0.0.0-py3.6.egg-info

(base) C:\Users\LiLong\Desktop\CRF++-0.58\python>python
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import CRFPP
>>>

import CRFPP测试通过,这个时候CRF接口算是安装完成。

你可能感兴趣的:(NLP)