NLP--解决Mac OS 10.14.4Python下pip install pyhanlp 失败

1.安装环境:

Mac OS 10.14.4
Python 3.6.8 :: Anaconda, Inc.
gcc-8 (Homebrew GCC 8.3.0) 8.3.0
Copyright © 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2.安装命令:

pip intall pyhanlp

提示:error: command ‘gcc’ failed with exit status 1

3.错误日志

Collecting pyhanlp
Collecting jpype1 (from pyhanlp)
  Using cached https://files.pythonhosted.org/packages/c4/4b/60a3e63d51714d4d7ef1b1efdf84315d118a0a80a5b085bb52a7e2428cdc/JPype1-0.6.3.tar.gz
Building wheels for collected packages: jpype1
  Building wheel for jpype1 (setup.py): started
  Building wheel for jpype1 (setup.py): finished with status 'error'
  Complete output from command /anaconda3/envs/python36/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/j3/q1l_gzdx53b9_63q9f9hlgsc0000gn/T/pip-install-6hw5f3qz/jpype1/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /private/var/folders/j3/q1l_gzdx53b9_63q9f9hlgsc0000gn/T/pip-wheel-6l2h2ohv --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.7-x86_64-3.6
  creating build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jcollection.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_classpath.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jio.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_pykeywords.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jproxy.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_gui.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_darwin.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/nio.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_cygwin.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_properties.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_refdaemon.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jboxed.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/JClassUtil.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jvmfinder.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/imports.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_core.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_linux.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jarray.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jobject.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jclass.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_windows.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jwrapper.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jexception.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/reflect.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  copying jpype/_jpackage.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
  creating build/lib.macosx-10.7-x86_64-3.6/jpype/awt
  copying jpype/awt/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpype/awt
  creating build/lib.macosx-10.7-x86_64-3.6/jpype/awt/event
  copying jpype/awt/event/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpype/awt/event
  copying jpype/awt/event/WindowAdapter.py -> build/lib.macosx-10.7-x86_64-3.6/jpype/awt/event
  creating build/lib.macosx-10.7-x86_64-3.6/jpypex
  copying jpypex/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpypex
  creating build/lib.macosx-10.7-x86_64-3.6/jpypex/swing
  copying jpypex/swing/AbstractAction.py -> build/lib.macosx-10.7-x86_64-3.6/jpypex/swing
  copying jpypex/swing/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpypex/swing
  copying jpypex/swing/pyutils.py -> build/lib.macosx-10.7-x86_64-3.6/jpypex/swing
  running build_ext
  building '_jpype' extension
  creating build/temp.macosx-10.7-x86_64-3.6
  creating build/temp.macosx-10.7-x86_64-3.6/native
  creating build/temp.macosx-10.7-x86_64-3.6/native/python
  creating build/temp.macosx-10.7-x86_64-3.6/native/common
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/anaconda3/envs/python36/include -arch x86_64 -I/anaconda3/envs/python36/include -arch x86_64 -DMACOSX=1 -Inative/common/include -Inative/python/include -Inative/jni_include -I/anaconda3/envs/python36/include/python3.6m -c native/python/jpype_python.cpp -o build/temp.macosx-10.7-x86_64-3.6/native/python/jpype_python.o -ggdb
  In file included from /anaconda3/envs/python36/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5/include-fixed/syslimits.h:7:0,
                   from /anaconda3/envs/python36/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5/include-fixed/limits.h:34,
                   from /anaconda3/envs/python36/include/python3.6m/Python.h:11,
                   from native/python/include/jpype_python.h:23,
                   from native/python/jpype_python.cpp:19:
  /anaconda3/envs/python36/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5/include-fixed/limits.h:168:61: fatal error: limits.h: No such file or directory
   #include_next <limits.h>  /* recurse down to the real one */
                                                               ^
  compilation terminated.
  error: command 'gcc' failed with exit status 1
  
  ----------------------------------------
  Running setup.py clean for jpype1
Failed to build jpype1
Installing collected packages: jpype1, pyhanlp
  Running setup.py install for jpype1: started
    Running setup.py install for jpype1: finished with status 'error'
    Complete output from command /anaconda3/envs/python36/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/j3/q1l_gzdx53b9_63q9f9hlgsc0000gn/T/pip-install-6hw5f3qz/jpype1/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/j3/q1l_gzdx53b9_63q9f9hlgsc0000gn/T/pip-record-dn0tq3ls/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.7-x86_64-3.6
    creating build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jcollection.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_classpath.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jio.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_pykeywords.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jproxy.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_gui.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_darwin.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/nio.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_cygwin.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_properties.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_refdaemon.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jboxed.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/JClassUtil.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jvmfinder.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/imports.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_core.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_linux.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jarray.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jobject.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jclass.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_windows.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jwrapper.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jexception.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/reflect.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    copying jpype/_jpackage.py -> build/lib.macosx-10.7-x86_64-3.6/jpype
    creating build/lib.macosx-10.7-x86_64-3.6/jpype/awt
    copying jpype/awt/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpype/awt
    creating build/lib.macosx-10.7-x86_64-3.6/jpype/awt/event
    copying jpype/awt/event/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpype/awt/event
    copying jpype/awt/event/WindowAdapter.py -> build/lib.macosx-10.7-x86_64-3.6/jpype/awt/event
    creating build/lib.macosx-10.7-x86_64-3.6/jpypex
    copying jpypex/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpypex
    creating build/lib.macosx-10.7-x86_64-3.6/jpypex/swing
    copying jpypex/swing/AbstractAction.py -> build/lib.macosx-10.7-x86_64-3.6/jpypex/swing
    copying jpypex/swing/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/jpypex/swing
    copying jpypex/swing/pyutils.py -> build/lib.macosx-10.7-x86_64-3.6/jpypex/swing
    running build_ext
    building '_jpype' extension
    creating build/temp.macosx-10.7-x86_64-3.6
    creating build/temp.macosx-10.7-x86_64-3.6/native
    creating build/temp.macosx-10.7-x86_64-3.6/native/python
    creating build/temp.macosx-10.7-x86_64-3.6/native/common
    gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/anaconda3/envs/python36/include -arch x86_64 -I/anaconda3/envs/python36/include -arch x86_64 -DMACOSX=1 -Inative/common/include -Inative/python/include -Inative/jni_include -I/anaconda3/envs/python36/include/python3.6m -c native/python/jpype_python.cpp -o build/temp.macosx-10.7-x86_64-3.6/native/python/jpype_python.o -ggdb
    In file included from /anaconda3/envs/python36/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5/include-fixed/syslimits.h:7:0,
                     from /anaconda3/envs/python36/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5/include-fixed/limits.h:34,
                     from /anaconda3/envs/python36/include/python3.6m/Python.h:11,
                     from native/python/include/jpype_python.h:23,
                     from native/python/jpype_python.cpp:19:
    /anaconda3/envs/python36/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5/include-fixed/limits.h:168:61: fatal error: limits.h: No such file or directory
     #include_next <limits.h>  /* recurse down to the real one */
                                                                 ^
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    
    -----------------------------------

4.原因

根据日志,conda里面安装了非常旧版本的gcc(/anaconda3/envs/python36/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5),导致依赖项jpype编译失败。解决办法是在conda里卸载gcc,直接用mac系统的gcc。see stan-dev/pystan#550 (comment)

5.解决问题

# 单独安装一下jpype1
conda install -c conda-forge jpype1
# 再安装pyhanlp
pip install pyhanlp

6.结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值