代码之家  ›  专栏  ›  技术社区  ›  Adam_G

无法在anaconda环境中安装kenlm包

  •  5
  • Adam_G  · 技术社区  · 6 年前

    当尝试安装 python wrapper of kenlm

    (lm_1b) adamg:lm_1b adamg$ pip install https://github.com/kpu/kenlm/archive/master.zip
    Collecting https://github.com/kpu/kenlm/archive/master.zip
      Cache entry deserialization failed, entry ignored
      Downloading https://github.com/kpu/kenlm/archive/master.zip
         - 4.4MB 51.1MB/s
    Installing collected packages: kenlm
      Running setup.py install for kenlm ... error
        Complete output from command /Users/adamg/anaconda2/envs/lm_1b/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/2l/hd8b8vx566ld71lfd8hjglbc0000gn/T/pip-9yzty3hd-build/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/2l/hd8b8vx566ld71lfd8hjglbc0000gn/T/pip-aff_d2b8-record/install-record.txt --single-version-externally-managed --compile:
        running install
        running build
        running build_ext
        building 'kenlm' extension
        creating build
        creating build/temp.macosx-10.9-x86_64-3.6
        creating build/temp.macosx-10.9-x86_64-3.6/util
        creating build/temp.macosx-10.9-x86_64-3.6/lm
        creating build/temp.macosx-10.9-x86_64-3.6/util/double-conversion
        creating build/temp.macosx-10.9-x86_64-3.6/python
        clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/adamg/anaconda2/envs/lm_1b/include -arch x86_64 -I/Users/adamg/anaconda2/envs/lm_1b/include -arch x86_64 -I. -I/Users/adamg/anaconda2/envs/lm_1b/include/python3.6m -c util/pool.cc -o build/temp.macosx-10.9-x86_64-3.6/util/pool.o -O3 -DNDEBUG -DKENLM_MAX_ORDER=6 -std=c++11
        In file included from util/pool.cc:1:
        In file included from ./util/pool.hh:4:
        /Users/adamg/anaconda2/envs/lm_1b/bin/../include/c++/v1/cassert:21:10: fatal error: 'assert.h' file not found
        #include <assert.h>
                 ^~~~~~~~~~
        1 error generated.
        error: command 'clang' failed with exit status 1
    
        ----------------------------------------
    Command "/Users/adamg/anaconda2/envs/lm_1b/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/2l/hd8b8vx566ld71lfd8hjglbc0000gn/T/pip-9yzty3hd-build/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/2l/hd8b8vx566ld71lfd8hjglbc0000gn/T/pip-aff_d2b8-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/2l/hd8b8vx566ld71lfd8hjglbc0000gn/T/pip-9yzty3hd-build/
    

    这个 pip 命令在conda环境之外工作,但是kenlm在该环境中不处于活动状态。我还可以在运行linux的AWSEC2实例上运行这个,所以可能是MacOSX的问题。你知道怎么解决吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Bogdan Condurache    6 年前

    在Mac上,缺少不同的库通常会出现问题。在大多数情况下,安装Xcode可以解决这个问题。另外,如果没有,也可以在终端中运行 xcode-select --install