File size: 3,474 Bytes
e657e99 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | # Web环境部署指南
## 环境信息
- **原环境**: macOS (darwin 24.5.0)
- **Python版本**: 3.8.16
- **环境名称**: web
- **目标平台**: Linux
## 方法1: 使用conda environment.yml (推荐)
### 在Linux系统上复现环境
1. **安装Anaconda或Miniconda**
```bash
# 如果还没有安装conda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
```
2. **创建新环境**
```bash
# 使用environment.yml文件创建环境
conda env create -f environment.yml
# 激活环境
conda activate web
```
3. **验证安装**
```bash
python --version # 应该显示 Python 3.8.16
pip list | grep Django # 检查Django是否正确安装
```
## 方法2: 使用pip requirements (备选)
如果conda方法遇到问题,可以使用pip方式:
1. **创建conda环境**
```bash
conda create -n web python=3.8.16
conda activate web
```
2. **安装依赖包**
```bash
# 使用精确版本的requirements文件
pip install -r requirements_exact.txt
# 或者使用简化版本的requirements文件
pip install -r requirements.txt
```
## 方法3: 手动安装核心包
如果上述方法都有问题,可以手动安装核心包:
```bash
# 创建环境
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语言环境
```bash
# Ubuntu/Debian
sudo apt-get install r-base r-base-dev
# CentOS/RHEL
sudo yum install R R-devel
```
- **mysqlclient**: 需要MySQL开发包
```bash
# Ubuntu/Debian
sudo apt-get install libmysqlclient-dev
# CentOS/RHEL
sudo yum install mysql-devel
```
### 2. 可能的兼容性问题
- 某些包的版本可能在Linux上不完全兼容
- 建议首先尝试安装,如果遇到问题再单独处理特定包
### 3. 生产环境建议
- 移除或注释开发工具包(如django-debug-toolbar)
- 考虑添加whitenoise用于静态文件处理
- 确保所有安全相关的包都是最新版本
## 验证环境
创建环境后,运行以下测试来验证环境是否正确:
```python
# 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!")
```
运行测试:
```bash
python test_environment.py
```
## 文件清单
该部署包含以下文件:
- `environment.yml`: 完整的conda环境配置
- `requirements.txt`: 生产环境的简化依赖列表
- `requirements_exact.txt`: 包含所有确切版本的完整依赖列表
- `deploy_guide.md`: 本部署指南
选择最适合你的部署环境的方法即可。 |