【问题标题】:ImportError: no module named _CRFPP in Python 2.7.6ImportError:Python 2.7.6 中没有名为 _CRFPP 的模块
【发布时间】:2015-09-01 12:38:18
【问题描述】:

我在 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 中

    在 setup 目录的 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
    

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))

【问题讨论】:

    标签: python python-2.7 nlp swig crf


    【解决方案1】:

    解决办法在:

    Python error "ImportError: No module named"

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

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

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

    在此之后我导入了模块。

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

    -rwxrwx--- 1 名根员工 255671 2014 年 7 月 22 日 _CRFPP.so

    命令后:

    -rwxr-xr-x 1 根员工 255671 2014 年 7 月 22 日 _CRFPP.so

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-30
      • 2022-08-15
      • 2017-11-09
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      相关资源
      最近更新 更多