Spaces:
Build error
Build error
| # 使用一个包含 R 和 Tidyverse 的基础镜像 | |
| # rocker/tidyverse 包含了许多常用包,但仍需确保所有依赖都存在 | |
| FROM rocker/tidyverse:latest | |
| # 设置工作目录 | |
| WORKDIR /app | |
| # 复制你的 R 脚本和数据文件到容器中 | |
| COPY app.R . | |
| COPY gmqrkl.xlsx . | |
| # 确保系统包更新和安装必要的开发工具(对于 R 包编译可能需要) | |
| RUN apt-get update && apt-get install -y \ | |
| sudo \ | |
| curl \ | |
| libxml2-dev \ | |
| libssl-dev \ | |
| libcurl4-openssl-dev \ | |
| libfontconfig1-dev \ | |
| libcairo2-dev \ | |
| fonts-wqy-zenhei \ | |
| gfortran \ | |
| libatlas-base-dev \ | |
| libopenblas-dev \ | |
| liblapack-dev \ | |
| pandoc \ | |
| pkg-config \ | |
| python3 \ | |
| python3-pip \ | |
| python3-dev \ | |
| build-essential \ | |
| # 添加 Python 虚拟环境和 wheel 支持,有时可以加速安装或解决依赖问题 | |
| python3-venv \ | |
| python3-wheel \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 升级 pip 并为 prophet 包安装 Python 依赖 | |
| # 注意:Prophet R 包在内部调用了 Python 的 Prophet 库 | |
| # 我们将 pystan 和 fbprophet 分开安装,并尝试指定一个稳定版本 | |
| # 例如,fbprophet 0.7.1 是一个广泛使用的稳定版本,它通常与 pystan < 2.0 兼容 | |
| RUN pip3 install --upgrade pip | |
| RUN pip3 install pystan==2.19.1.1 # Pin a specific stable pystan version | |
| RUN pip3 install fbprophet==0.7.1 # Pin a specific stable fbprophet version | |
| # 如果 0.7.1 仍然有问题,可以尝试 0.6 或 0.5 | |
| # 安装所有必需的 R 包 | |
| # 分开安装一些可能相互依赖或安装耗时的包,增加稳定性 | |
| # 增加 repos URL,并添加 Ncpus 参数以利用多核加速安装 | |
| RUN R -e "install.packages(c('zoo', 'forecast', 'tseries', 'uroot', 'readxl', 'lubridate', 'tidyr'), repos='http://cran.rstudio.com/', Ncpus = `nproc`)" | |
| RUN R -e "install.packages(c('ggplot2', 'dplyr', 'ggpubr', 'patchwork', 'scales'), repos='http://cran.rstudio.com/', Ncpus = `nproc`)" | |
| RUN R -e "install.packages(c('Rcpp', 'RcppArmadillo', 'RcppParallel', 'prophet'), repos='http://cran.rstudio.com/', Ncpus = `nproc`)" | |
| RUN R -e "install.packages(c('parallel', 'doParallel'), repos='http://cran.rstudio.com/', Ncpus = `nproc`)" | |
| # 设置环境变量,确保 R 知道去哪里找字体 | |
| ENV R_LIBS_USER=/usr/local/lib/R/site-library | |
| ENV R_GSCMD=/usr/bin/gs | |
| # 设置 LANG 环境变量,确保R能正确处理中文字符 | |
| ENV LANG=C.UTF-8 | |
| # 运行你的 R 脚本 | |
| CMD ["Rscript", "app.R"] |