创建虚拟环境
这一步并非必要,却十分重要。主要用于多个 python 项目时,同名依赖不同版本情况。创建虚拟环境可以隔离项目之间的依赖(也可以使用 docker 来实现项目隔离)
创建虚拟环境:
1 | python -m venv venv # Windows/macOS/Linux 通用命令 |
激活虚拟环境:
1 | # Windows |
安装依赖:
1 | pip install flask # 仅安装到当前虚拟环境 |
查看已安装的包:
1 | pip list |
退出虚拟环境:
1 | deactivate |
虚拟环境是 Python 开发的标准实践,虽然不是强制要求,但它能避免 90% 的环境相关问题。建议养成 “每个项目一个虚拟环境” 的习惯,从一开始就使用它!
依赖安装
1、requirements.txt
自动生成项目中的依赖 到 requirements.txt 文件
1 | pip freeze > requirements.txt |
类似于yarn 的一键安装项目依赖
1 | pip install -r requirements.txt |
2、**pyproject.toml
**
1 | # pyproject.toml |
安装方式
1 | pip install . # 安装项目及其依赖 |
3、**setup.py
(传统方法)**
1 | # setup.py |
1 | pip install . # 安装项目及其依赖 |
敏感参数配置
项目推荐使用 .env 文件放置,通过 dotenv 第三方模块来加载。.env 文件不提交。生产环境时可以
在生产环境新建一个.env 文件
1
2
3FLASK_APP=app
FLASK_DEBUG=True
SECRET_KEY=your-secret-key在运行环境设置环境变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15临时环境变量
Linux/macOS
export SECRET_KEY=prod_secret_key
export FLASK_DEBUG=False
Windows(PowerShell)
env:SECRET_KEY = "prod_secret_key"
env:FLASK_DEBUG = "False"
永久环境变量
Linux/macOS:写入 shell 配置文件(如 ~/.bashrc、~/.zshrc)
echo 'export SECRET_KEY=prod_secret_key' >> ~/.bashrc
echo 'export FLASK_DEBUG=False' >> ~/.bashrc
source ~/.bashrc # 立即生效
Windows:通过「系统属性 → 高级 → 环境变量」图形界面配置,或使用 PowerShell 命令永久设置。docker 容器部署
docker run 命令直接传入
1
docker run -e "SECRET_KEY=prod_secret" -e "FLASK_DEBUG=False" your-image
docker-compose.yml 文件配置
1
2
3
4
5
6
7
8
9
10# docker-compose.yml
services:
app:
image: your-image
environment:
- SECRET_KEY=prod_secret
- FLASK_DEBUG=False
# 或引用服务器上的 .env 文件(但需确保该文件仅在服务器存在)
env_file:
- .env.prod # 服务器上的生产环境变量文件
app项目架构
1 | flask_project/ |
数据库集成
数据库使用的是 pymysql,连接池 dbutils.pooled_db
.env 环境配置
1 | # 数据库配置 |
1 | ''' |
db.py 中的 fetch_one 方法 可以到 mudules.test.test.py 中 引入使用
1 | # mudules.test.test.py |
- 本文作者: 王不留行
- 本文链接: https://wyf195075595.github.io/2022/06/17/programming/python/python-web-app/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!