当前位置: 首页 > 工具软件 > ThriftPy > 使用案例 >

解决thriftpy安装失败问题

郭乐湛
2023-12-01

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

问题解决

 类似资料: