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

M1 Mac Docker环境安装nautilus_trader失败:编译datafusion报错

解决M1 Mac Docker容器中安装nautilus_trader的编译SIGKILL问题

核心原因

编译parquet和datafusion-physical-expr这类Rust依赖需要大量内存,而M1 Mac的Docker默认内存配额较低,加上python:3.11-slim镜像的精简特性,容易触发内存耗尽导致进程被SIGKILL终止。

解决方案

  • 调整Docker容器内存配额

    1. 打开Docker Desktop,进入Settings > Resources > Advanced,将内存分配调高至至少4GB(推荐8GB),重启Docker生效。
    2. 如果使用VS Code Dev Container,可在.devcontainer/devcontainer.json中添加配置,强制指定容器内存:
      "runArgs": ["--memory=8g"]
      
  • 更换/优化基础镜像
    放弃python:3.11-slim,改用完整的python:3.11-bullseye镜像,它包含更多编译所需的系统依赖,减少手动补全的麻烦。如果坚持用slim镜像,需额外安装编译依赖:

    apt-get update && apt-get install -y build-essential pkg-config libssl-dev libz-dev
    
  • 使用预编译wheel跳过编译
    尝试强制使用预编译包安装,避免本地编译:

    pip install --only-binary :all: -U nautilus_trader
    

    注:需确认nautilus_trader提供了适配aarch64架构的预编译wheel。

  • 限制Rust编译的资源占用
    通过环境变量降低编译时的内存消耗:

    # 关闭调试信息生成,减少内存占用
    export RUSTFLAGS="-C debuginfo=0"
    # 单线程编译,避免多线程内存过载
    export CARGO_BUILD_JOBS=1
    pip install -U nautilus_trader
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 09:05:06