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`: 本部署指南

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