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

NAS环境安装Binance库时backports.zoneinfo编译失败求助

问题:Synology NAS安装Binance库时backports.zoneinfo编译失败

环境信息

  • Python版本:3.8.15
  • pip版本:24.0
  • 硬件架构:aarch64(ARMv8)
  • 系统:Synology DSM

错误详情

安装Binance库时,依赖的backports.zoneinfo编译失败,核心错误为:

error: command '/usr/local/aarch64-unknown-linux-gnu/bin/ccache/aarch64-unknown-linux-gnu-wrap-gcc' failed: No such file or directory

完整错误输出:

Building wheel for backports.zoneinfo (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for backports.zoneinfo (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [35 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-38
      creating build/lib.linux-aarch64-cpython-38/backports
      copying src/backports/__init__.py -> build/lib.linux-aarch64-cpython-38/backports
      creating build/lib.linux-aarch64-cpython-38/backports/zoneinfo
      copying src/backports/zoneinfo/_zoneinfo.py -> build/lib.linux-aarch64-cpython-38/backports/zoneinfo
      copying src/backports/zoneinfo/_version.py -> build/lib.linux-aarch64-cpython-38/backports/zoneinfo
      copying src/backports/zoneinfo/_tzpath.py -> build/lib.linux-aarch64-cpython-38/backports/zoneinfo
      copying src/backports/zoneinfo/_common.py -> build/lib.linux-aarch64-cpython-38/backports/zoneinfo
      copying src/backports/zoneinfo/__init__.py -> build/lib.linux-aarch64-cpython-38/backports/zoneinfo
      running egg_info
      writing src/backports.zoneinfo.egg-info/PKG-INFO
      writing dependency_links to src/backports.zoneinfo.egg-info/dependency_links.txt
      writing requirements to src/backports.zoneinfo.egg-info/requires.txt
      writing top-level names to src/backports.zoneinfo.egg-info/top_level.txt
      reading manifest file 'src/backports.zoneinfo.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '*.png' under directory 'docs'
      warning: no files found matching '*.svg' under directory 'docs'
      no previously-included directories found matching 'docs/_build'
      no previously-included directories found matching 'docs/_output'
      adding license file 'LICENSE'
      adding license file 'licenses/LICENSE_APACHE'
      writing manifest file 'src/backports.zoneinfo.egg-info/SOURCES.txt'
      copying src/backports/zoneinfo/__init__.pyi -> build/lib.linux-aarch64-cpython-38/backports/zoneinfo
      copying src/backports/zoneinfo/py.typed -> build/lib.linux-aarch64-cpython-38/backports/zoneinfo
      running build_ext
      building 'backports.zoneinfo._czoneinfo' extension
      creating build/temp.linux-aarch64-cpython-38
      creating build/temp.linux-aarch64-cpython-38/lib
      /usr/local/aarch64-unknown-linux-gnu/bin/ccache/aarch64-unknown-linux-gnu-wrap-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DSYNOPLAT_F_ARMV8 -O2 -include /usr/syno/include/platformconfig.h -DSYNO_ENVIRONMENT -DBUILD_ARCH=64 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DSYNO_RUNNING_DSM_BUILD_SYSTEM -g -pipe -fstack-protector-strong -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=3 -O2 -Wno-unused-result -fexceptions -Wbidi-chars=ucn -fstack-clash-protection -fPIC -I/volume1/Python/Bot_Binance/env/env_bot_binance/include -I/usr/include/python3.8 -c lib/zoneinfo_module.c -o build/temp.linux-aarch64-cpython-38/lib/zoneinfo_module.o -std=c99
      error: command '/usr/local/aarch64-unknown-linux-gnu/bin/ccache/aarch64-unknown-linux-gnu-wrap-gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for backports.zoneinfo
Failed to build backports.zoneinfo
ERROR: Could not build wheels for backports.zoneinfo, which is required to install pyproject.toml-based projects

已尝试操作

  • 单独执行pip install backports.zoneinfo,错误依旧
  • 升级pip至24.0版本

解决方案

1. 安装预编译wheel包

直接使用预编译的aarch64版本,跳过编译步骤:

pip install backports.zoneinfo --only-binary :all:

也可以指定兼容版本:

pip install backports.zoneinfo==0.2.1 --only-binary :all:

2. 补全编译依赖

如果必须编译,需要在NAS上安装开发工具链:

  • 通过DSM套件中心安装GCC和make(若套件中心无对应包,可先安装Entware,再执行opkg install gcc make)
  • 若gcc路径不存在,创建软链接指向系统已有的gcc:
ln -s /usr/bin/gcc /usr/local/aarch64-unknown-linux-gnu/bin/ccache/aarch64-unknown-linux-gnu-wrap-gcc

3. 升级Python版本

Python 3.9+已内置zoneinfo标准库,无需依赖backports.zoneinfo:

  • 通过DSM套件中心安装更高版本的Python,或使用pyenv编译安装

4. 强制预编译安装Binance库

安装Binance库时直接使用--only-binary参数,强制所有依赖用预编译包:

pip install python-binance --only-binary :all:

内容的提问来源于stack exchange,提问作者AlexH

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:44:53