You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Python ZS库出现Command errored out with exit status 1错误如何解决

提问:M1 Mac/Ubuntu下安装ZS库失败

我正在使用命令 pip install zs 安装Python的ZS库,但执行过程中始终出现如下报错:

command: /Users/user/opt/anaconda3/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '/private/var/folders/86/rclj3l7x7jg9fz8pxnwqx3fw0000gn/T/pip-install-y6w6o5s6/zs_df7e592a69884a79a9c736d8120cade7/setup.py'; __file__='/private/var/folders/86/rclj3l7x7jg9fz8pxnwqx3fw0000gn/T/pip-install-y6w6o5s6/zs_df7e592a69884a79a9c736d8120cade7/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/86/rclj3l7x7jg9fz8pxnwqx3fw0000gn/T/pip-wheel-s4vvw32q
cwd: /private/var/folders/86/rclj3l7x7jg9fz8pxnwqx3fw0000gn/T/pip-install-y6w6o5s6/zs_df7e592a69884a79a9c736d8120cade7/

完整输出共244行。

我尝试参考了Stack Overflow上的多个相关问题,但没有可用的解决方案。我使用的是M1芯片的Mac设备,在Ubuntu系统下尝试安装也出现相同报错,仅报错条数略少,看起来像是该库已经无法正常使用了。我的设备已安装gcc包、Mac端Xcode依赖。

报错末尾的部分关键错误信息如下:

zs/_zs.c:5658:19: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
*tb = tstate->exc_traceback;
^~~~~~~~~~~~~
curexc_traceback
/Users/lorenzodigianvittorio/opt/anaconda3/include/python3.8/cpython/pystate.h:81:15: note: 'curexc_traceback' declared here
PyObject *curexc_traceback;
^
zs/_zs.c:5670:24: error: no member named 'exc_type' in 'struct _ts'
tmp_type = tstate->exc_type;

zs/_zs.c:5671:25: error: no member named 'exc_value' in 'struct _ts'; did you mean 'curexc_value'?
tmp_value = tstate->exc_value;
^~~~~~~~~
curexc_value
/Users/lorenzodigianvittorio/opt/anaconda3/include/python3.8/cpython/pystate.h:80:15: note: 'curexc_value' declared here
PyObject *curexc_value;
^
zs/_zs.c:5672:22: error: no member named 'exc_traceback' in 'struct _ts'; did you mean 'curexc_traceback'?
tmp_tb = tstate->exc_traceback;
^~~~~~~~~~~~~

解决方案

根本原因

该报错源于ZS库已停止维护多年,其底层C扩展仅适配Python 3.7及更早版本的内部API。从Python 3.8开始,CPython重构了线程状态结构体struct _ts的成员命名,将原有的exc_traceback、exc_type、exc_value分别更名为curexc_traceback、curexc_type、curexc_value,导致旧版C代码无法在高版本Python环境下编译通过。

可行解决路径

  • 方案1:降级Python版本
    直接安装Python 3.7版本的运行环境后再安装ZS库,是成本最低的兼容方案。如果使用conda可执行如下命令创建对应环境:
    conda create -n py37 python=3.7
    conda activate py37
    pip install zs
    
  • 方案2:手动修复C扩展代码(适合需要在高版本Python使用的场景)
    1. 下载ZS库源码包:pip download zs --no-binary :all:
    2. 解压源码包,找到zs/_zs.c文件,将所有tstate->exc_traceback替换为tstate->curexc_traceback、tstate->exc_type替换为tstate->curexc_type、tstate->exc_value替换为tstate->curexc_value
    3. 在源码根目录执行pip install .手动编译安装即可
  • 方案3:替换替代库
    如果是使用ZS库做零压缩相关处理,可直接替换为仍在官方维护的同类高性能库,适配全版本Python且性能优于废弃的ZS库。

内容的提问来源于stack exchange,提问作者Lorenzo Di Gianvittorio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:54:01