当前位置: 首页 > news >正文

Python Ta-Lib库在容器中的安装

Docokerfile

保存以下内容为Dockerfile,  然后在Docker build -t python-talib .

ARG BASE_IMAGE=ubuntu:24.04
FROM ${BASE_IMAGE}# 环境变量设置
ENV DEBIAN_FRONTEND=noninteractive \PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn# 构建参数
ARG TALIB_C_VERSION="0.6.4"
ARG TALIB_PY_MAJOR_MIN_VERSION="0.6"# 包管理变量
ENV APT_PKG_TEMPORARY="build-essential autoconf automake autotools-dev cmake python3-dev python3-venv libtool-bin libopenblas-dev wget" \APT_PKG="python3 python3-pip liblapack3" \TALIB_C_VERSION=${TALIB_C_VERSION} \TALIB_PY_MAJOR_MIN_VERSION=${TALIB_PY_MAJOR_MIN_VERSION}# 设置工作目录
WORKDIR /app# 安装系统依赖和TA-Lib C库
RUN apt-get update && apt-get upgrade -y && \apt-get install -y --no-install-recommends ${APT_PKG_TEMPORARY} ${APT_PKG} && \ln -s /usr/include/locale.h /usr/include/xlocale.h && \\# 根据架构选择安装方式arch="$(dpkg --print-architecture)" && \case "$arch" in \amd64|x86_64) final_arch="amd64" ;; \arm64|aarch64) final_arch="arm64" ;; \*) final_arch="" ;; \esac && \\if [ -n "$final_arch" ]; then \echo "Detected $arch, using TA-Lib $TALIB_C_VERSION .deb" && \TALIB_URL="https://github.com/TA-Lib/ta-lib/releases/download/v${TALIB_C_VERSION}/ta-lib_${TALIB_C_VERSION}_${final_arch}.deb" && \wget -O /tmp/ta-lib.deb "$TALIB_URL" && \dpkg -i /tmp/ta-lib.deb && \rm -f /tmp/ta-lib.deb; \else \echo "Arch $arch not supported, building TA-Lib from source" && \wget -O /tmp/ta-lib-src.tgz "https://github.com/TA-Lib/ta-lib/releases/download/v${TALIB_C_VERSION}/ta-lib-${TALIB_C_VERSION}-src.tar.gz" && \mkdir /tmp/ta-lib && \tar xf /tmp/ta-lib-src.tgz -C /tmp/ta-lib --strip-components=1 && \cd /tmp/ta-lib && \./configure --prefix=/usr && \make -j$(nproc) && \make install && \libtool --finish /usr/lib && \rm -rf /tmp/ta-lib /tmp/ta-lib-src.tgz; \fi && \\# 创建虚拟环境并安装Python依赖python3 -m venv /venv && \/venv/bin/pip install --no-cache-dir --upgrade pip cython && \/venv/bin/pip install --no-cache-dir "TA-Lib~=${TALIB_PY_MAJOR_MIN_VERSION}" pandas && \\# 清理工作apt-get autoremove -y ${APT_PKG_TEMPORARY} && \apt-get clean && \rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ${WHEEL_FILE}# ----------
# 后面就根据自己项目需要更改
# ----------
# 构建参数
ARG WHEEL_FILE="stock_tool-0.1.1-py3-none-any.whl"
# 复制wheel文件到容器中
COPY ${WHEEL_FILE} .# 安装应用
RUN /venv/bin/pip install --no-cache-dir ${WHEEL_FILE}# 设置容器入口点
CMD ["/venv/bin/StockAgent"]
http://www.sczhlp.com/news/3581/

相关文章:

  • next-key lock - Charlie
  • IDEA连接达梦数据库 - 呓语
  • JSUT DO ONCE
  • 408-OS之银行家算法
  • FANUC CNC Guide v25.0 安装教程
  • Python三大Web框架:FastAPI vs Flask vs Django 详解与敏捷入门指南
  • 椰子味的暑假清单
  • 模拟赛 T2 题解
  • 框架历理 电商公式分类
  • day8
  • CF1837F Editorial for Two 2025.8.1模拟赛题解
  • WSL 安装 Debian后,换源tsinghua.edu.cn 无法更新
  • 对象存储MinIO
  • 7.1
  • [PaperReading] KIMI K2: OPEN AGENTIC INTELLIGENCE
  • cmake学习笔记
  • 想控利润,就得先把生产成本拆明白 - 智慧园区
  • 8/1
  • 虚拟机安装冬瓜HAOS
  • STM32学习笔记(13)——模数转换ADC
  • STM32学习笔记(11)——定时器初步应用(1)
  • STM32学习笔记(12)——定时器初步应用(2)
  • PVE9 Beta保姆级升级教程!PVE8→PVE9轻松升级
  • python多版本控制
  • 2025.8.1
  • 20250801-36
  • 20250801
  • 20250801 做题记录
  • 使用CSS Grid布局实现响应式设计
  • 怎么推销技术?