mac os安装python第三方包时,遇到依赖的thriftpy包安装不成功的问题
Building wheel for thriftpy (setup.py) ... error
ERROR: Complete output from command /Users/leonlai/miniconda3/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/cr/5ld2qxcs4pxbzklv5qcqkbpm0000gn/T/pip-install-fv8swz53/thriftpy/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/cr/5ld2qxcs4pxbzklv5qcqkbpm0000gn/T/pip-wheel-8t531r6s --python-tag cp37:
ERROR: running bdist_wheel
The [wheel] section is deprecated. Use [bdist_wheel] instead.
running build
running build_py
creating build
creating build/lib.macosx-10.7-x86_64-3.7
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy
copying thriftpy/server.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy
copying thriftpy/hook.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy
copying thriftpy/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy
copying thriftpy/thrift.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy
copying thriftpy/rpc.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy
copying thriftpy/utils.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy
copying thriftpy/tornado.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy
copying thriftpy/_compat.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport
copying thriftpy/transport/_ssl.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport
copying thriftpy/transport/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport
copying thriftpy/transport/sslsocket.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport
copying thriftpy/transport/socket.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy/protocol
copying thriftpy/protocol/binary.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/protocol
copying thriftpy/protocol/compact.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/protocol
copying thriftpy/protocol/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/protocol
copying thriftpy/protocol/exc.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/protocol
copying thriftpy/protocol/multiplex.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/protocol
copying thriftpy/protocol/json.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/protocol
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy/parser
copying thriftpy/parser/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/parser
copying thriftpy/parser/parser.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/parser
copying thriftpy/parser/exc.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/parser
copying thriftpy/parser/lexer.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/parser
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy/contrib
copying thriftpy/contrib/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/contrib
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport/memory
copying thriftpy/transport/memory/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport/memory
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport/buffered
copying thriftpy/transport/buffered/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport/buffered
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport/framed
copying thriftpy/transport/framed/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/transport/framed
creating build/lib.macosx-10.7-x86_64-3.7/thriftpy/contrib/tracking
copying thriftpy/contrib/tracking/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/contrib/tracking
copying thriftpy/contrib/tracking/tracker.py -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/contrib/tracking
copying thriftpy/contrib/tracking/tracking.thrift -> build/lib.macosx-10.7-x86_64-3.7/thriftpy/contrib/tracking
running build_ext
building 'thriftpy.transport.cybase' extension
creating build/temp.macosx-10.7-x86_64-3.7
creating build/temp.macosx-10.7-x86_64-3.7/thriftpy
creating build/temp.macosx-10.7-x86_64-3.7/thriftpy/transport
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/leonlai/miniconda3/include -arch x86_64 -I/Users/leonlai/miniconda3/include -arch x86_64 -I/Users/leonlai/miniconda3/include/python3.7m -c thriftpy/transport/cybase.c -o build/temp.macosx-10.7-x86_64-3.7/thriftpy/transport/cybase.o
thriftpy/transport/cybase.c:3127:24: error: no member named 'exc_type' in 'struct _ts'
tmp_type = tstate->exc_type;
~~~~~~ ^
thriftpy/transport/cybase.c:3128:25: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
tmp_value = tstate->exc_value;
^~~~~~~~~
curexc_value
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:240:15: note: 'curexc_value' declared here
PyObject *curexc_value;
^
thriftpy/transport/cybase.c:3129:22: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
tmp_tb = tstate->exc_traceback;
^~~~~~~~~~~~~
curexc_traceback
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:241:15: note: 'curexc_traceback' declared here
PyObject *curexc_traceback;
^
thriftpy/transport/cybase.c:3130:13: error: no member named 'exc_type' in 'struct _ts'
tstate->exc_type = local_type;
~~~~~~ ^
thriftpy/transport/cybase.c:3131:13: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
tstate->exc_value = local_value;
^~~~~~~~~
curexc_value
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:240:15: note: 'curexc_value' declared here
PyObject *curexc_value;
^
thriftpy/transport/cybase.c:3132:13: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
tstate->exc_traceback = local_tb;
^~~~~~~~~~~~~
curexc_traceback
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:241:15: note: 'curexc_traceback' declared here
PyObject *curexc_traceback;
^
thriftpy/transport/cybase.c:3154:24: error: no member named 'exc_type' in 'struct _ts'
tmp_type = tstate->exc_type;
~~~~~~ ^
thriftpy/transport/cybase.c:3155:25: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
tmp_value = tstate->exc_value;
^~~~~~~~~
curexc_value
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:240:15: note: 'curexc_value' declared here
PyObject *curexc_value;
^
thriftpy/transport/cybase.c:3156:22: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
tmp_tb = tstate->exc_traceback;
^~~~~~~~~~~~~
curexc_traceback
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:241:15: note: 'curexc_traceback' declared here
PyObject *curexc_traceback;
^
thriftpy/transport/cybase.c:3157:13: error: no member named 'exc_type' in 'struct _ts'
tstate->exc_type = *type;
~~~~~~ ^
thriftpy/transport/cybase.c:3158:13: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
tstate->exc_value = *value;
^~~~~~~~~
curexc_value
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:240:15: note: 'curexc_value' declared here
PyObject *curexc_value;
^
thriftpy/transport/cybase.c:3159:13: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
tstate->exc_traceback = *tb;
^~~~~~~~~~~~~
curexc_traceback
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:241:15: note: 'curexc_traceback' declared here
PyObject *curexc_traceback;
^
thriftpy/transport/cybase.c:3178:21: error: no member named 'exc_type' in 'struct _ts'
*type = tstate->exc_type;
~~~~~~ ^
thriftpy/transport/cybase.c:3179:22: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
*value = tstate->exc_value;
^~~~~~~~~
curexc_value
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:240:15: note: 'curexc_value' declared here
PyObject *curexc_value;
^
thriftpy/transport/cybase.c:3180:19: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
*tb = tstate->exc_traceback;
^~~~~~~~~~~~~
curexc_traceback
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:241:15: note: 'curexc_traceback' declared here
PyObject *curexc_traceback;
^
thriftpy/transport/cybase.c:3187:24: error: no member named 'exc_type' in 'struct _ts'
tmp_type = tstate->exc_type;
~~~~~~ ^
thriftpy/transport/cybase.c:3188:25: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
tmp_value = tstate->exc_value;
^~~~~~~~~
curexc_value
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:240:15: note: 'curexc_value' declared here
PyObject *curexc_value;
^
thriftpy/transport/cybase.c:3189:22: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
tmp_tb = tstate->exc_traceback;
^~~~~~~~~~~~~
curexc_traceback
/Users/leonlai/miniconda3/include/python3.7m/pystate.h:241:15: note: 'curexc_traceback' declared here
PyObject *curexc_traceback;
^
thriftpy/transport/cybase.c:3190:13: error: no member named 'exc_type' in 'struct _ts'
tstate->exc_type = type;
~~~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for thriftpy
网上搜索解决方案,执行下面命令
pip install cython thriftpy
问题解决