Spaces:
Sleeping
Sleeping
| FROM python:3.10 | |
| # 安装系统依赖(libGL 等) | |
| RUN apt-get update && \ | |
| apt-get install -y --no-install-recommends \ | |
| libgl1 \ | |
| build-essential \ | |
| libglib2.0-0 \ | |
| libsm6 \ | |
| libxext6 \ | |
| libxrender-dev && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # 创建非 root 用户 | |
| RUN useradd -m -u 1000 user && \ | |
| python -m pip install --upgrade pip | |
| USER user | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| WORKDIR /app | |
| # 拷贝代码和 requirements | |
| COPY --chown=user ./plantcv /app/plantcv | |
| COPY --chown=user ./requirements.txt requirements.txt | |
| COPY --chown=user ./data/jpg/ /app/data/jpg/ | |
| COPY --chown=user ./data/sample/ /app/data/sample/ | |
| COPY --chown=user ./output/kmeans/ /app/output/kmeans/ | |
| # 测试:查看刚拷贝进去的内容 | |
| RUN ls -l /app/plantcv | head -n 20 \ | |
| && ls -l /app/data/jpg | head -n 20 \ | |
| && ls -l /app/data/sample | head -n 20 \ | |
| && ls -l /app/output/kmeans | head -n 20 | |
| # 安装 Python 依赖 | |
| RUN pip install --user --no-cache-dir -r requirements.txt | |
| # 复制修补脚本 | |
| COPY patch_plantcv.py . | |
| # 执行修补 | |
| RUN echo "开始修补 PlantCV..." && \ | |
| python patch_plantcv.py && \ | |
| echo "PlantCV 修补完成" | |
| # 设置 PYTHONPATH 使用源码 | |
| ENV PYTHONPATH=/app/plantcv/source:$PYTHONPATH | |
| # 验证修补是否成功 | |
| RUN python -c "from plantcv.utils import sample_images; print('✅ PlantCV sample_images 导入成功')" | |
| RUN ls -l /app && ls -l /app/data/sample | |
| # MCP 服务端配置 | |
| EXPOSE 7860 | |
| ENV MCP_TRANSPORT=http | |
| ENV MCP_PORT=7860 | |
| # 启动 MCP 服务 | |
| CMD ["python", "plantcv/mcp_output/start_mcp.py"] |