RamEx / deploy_guide.md
zdy10046's picture
deploy RamEx to Hugging Face without binary files
e657e99
|
Raw
History Blame Contribute Delete
3.47 kB

Web环境部署指南

环境信息

  • 原环境: macOS (darwin 24.5.0)
  • Python版本: 3.8.16
  • 环境名称: web
  • 目标平台: Linux

方法1: 使用conda environment.yml (推荐)

在Linux系统上复现环境

  1. 安装Anaconda或Miniconda

    # 如果还没有安装conda
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    bash Miniconda3-latest-Linux-x86_64.sh
    
  2. 创建新环境

    # 使用environment.yml文件创建环境
    conda env create -f environment.yml
    
    # 激活环境
    conda activate web
    
  3. 验证安装

    python --version  # 应该显示 Python 3.8.16
    pip list | grep Django  # 检查Django是否正确安装
    

方法2: 使用pip requirements (备选)

如果conda方法遇到问题,可以使用pip方式:

  1. 创建conda环境

    conda create -n web python=3.8.16
    conda activate web
    
  2. 安装依赖包

    # 使用精确版本的requirements文件
    pip install -r requirements_exact.txt
    
    # 或者使用简化版本的requirements文件
    pip install -r requirements.txt
    

方法3: 手动安装核心包

如果上述方法都有问题,可以手动安装核心包:

# 创建环境
conda create -n web python=3.8.16
conda activate web

# 安装核心Django相关包
pip install Django==4.2
pip install djangorestframework==3.14.0
pip install django-bootstrap5==23.1
pip install drf-yasg==1.21.6

# 安装数据处理包
pip install pandas==2.0.2
pip install numpy==1.24.3
pip install rpy2==3.5.17

# 安装服务器相关
pip install gunicorn==20.1.0
pip install psycopg2-binary==2.9.6

# 其他必要包
pip install cryptography==44.0.2
pip install Pillow==9.5.0
pip install python-dotenv==1.0.0
pip install pytz==2023.3

注意事项

1. 平台差异

  • rpy2: 在Linux上可能需要预先安装R语言环境

    # Ubuntu/Debian
    sudo apt-get install r-base r-base-dev
    
    # CentOS/RHEL
    sudo yum install R R-devel
    
  • mysqlclient: 需要MySQL开发包

    # Ubuntu/Debian
    sudo apt-get install libmysqlclient-dev
    
    # CentOS/RHEL
    sudo yum install mysql-devel
    

2. 可能的兼容性问题

  • 某些包的版本可能在Linux上不完全兼容
  • 建议首先尝试安装,如果遇到问题再单独处理特定包

3. 生产环境建议

  • 移除或注释开发工具包(如django-debug-toolbar)
  • 考虑添加whitenoise用于静态文件处理
  • 确保所有安全相关的包都是最新版本

验证环境

创建环境后,运行以下测试来验证环境是否正确:

# test_environment.py
import django
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

print(f"Django version: {django.get_version()}")
print(f"Pandas version: {pd.__version__}")
print(f"NumPy version: {np.__version__}")

# 测试Django是否可以正常工作
from django.conf import settings
settings.configure(DEBUG=True, SECRET_KEY='test')
print("Django configuration successful!")

运行测试:

python test_environment.py

文件清单

该部署包含以下文件:

  • environment.yml: 完整的conda环境配置
  • requirements.txt: 生产环境的简化依赖列表
  • requirements_exact.txt: 包含所有确切版本的完整依赖列表
  • deploy_guide.md: 本部署指南

选择最适合你的部署环境的方法即可。