ImportError:Python 2.7.6中没有名为_CRFPP的模块

时间:2015-08-31 23:57:28

标签: python python-2.7 nlp swig crf

我在Python 2.7.6中安装了CRF ++ 0.58

当我尝试导入时,我有以下消息:

    >>> import CRFPP
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "CRFPP.py", line 42, in <module>
        _CRFPP = swig_import_helper()
      File "CRFPP.py", line 34, in swig_import_helper
        import _CRFPP
    ImportError: No module named _CRFPP
    >>> 

安装过程在CRF ++ 0.58的python目录的README文件中描述,并且是:

  $ python setup.py build
  $ sudo python setup.py install

这放在目录/usr/local/lib/python2.7/dist-packages/中:

  1. CRFPP.py
  2. CRFPP.pyc
  3. _CRFPP.so

    目录/usr/local/lib/python2.7/dist-packages/位于sys.path

    在安装目录的CRFPP.py中,在其开头包含以下过程:

    #This file was automatically generated by SWIG (http://www.swig.org).
    # Version 2.0.4
    #
    # Do not make changes to this file unless you know what you are doing--modify
    # the SWIG interface file instead.
    
    from sys import version_info
    if version_info >= (2,6,0):
        def swig_import_helper():
            from os.path import dirname
            import imp
            fp = None
            try:
                fp, pathname, description = imp.find_module('_CRFPP',[dirname(__file__)])
            except ImportError:
                import _CRFPP
                return _CRFPP
            if fp is not None:
                try:
                    _mod = imp.load_module('_CRFPP', fp, pathname, description)
                finally:
                    fp.close()
                return _mod
        _CRFPP = swig_import_helper()
        del swig_import_helper
    else:
        import _CRFPP
    del version_info
    
  4. imp找不到_CRFPP.so,但找到了CRFPP.py:

        >>> import imp
        >>> imp.find_module("_CRFPP")
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        ImportError: No module named _CRFPP
    
        >>> imp.find_module("CRFPP")
        (<open file '/usr/local/lib/python2.7/dist-packages/CRFPP.py', mode 'U' at 0x7f7748e4a540>, '/usr/local/lib/python2.7/dist-packages/CRFPP.py', ('.py', 'U', 1))
    

1 个答案:

答案 0 :(得分:0)

解决方案是:

Python error "ImportError: No module named"

答案:https://stackoverflow.com/a/23964457/5283795

于2014年5月30日22:50由KrisWebDev发布:

sudo chmod 755 /usr/local/lib/python2.7/dist-packages / *。so

之后我导入了模块。

最初,该模块具有以下属性:

-rwxrwx --- 1 root staff 255671 2014年7月22日_CRFPP.so

命令后:

-rwxr-xr-x 1 root staff 255671 2014年7月22日_CRFPP.so