Flask环境安装与项目初始化

本文档将指导您完成Flask环境的安装配置和第一个项目的创建

1. 系统要求与环境准备

最低要求:
  • Python版本:Python 3.7 或更高版本
  • 操作系统:Windows 10+, macOS 10.15+, 或 Linux
  • 内存:至少 2GB RAM
  • 磁盘空间:至少 200MB 可用空间

2. Python安装与验证

Windows系统安装:

  1. 访问 Python官网下载安装包
  2. 运行安装程序,勾选 Add Python to PATH
  3. 完成安装后验证:
# 打开命令提示符或PowerShell
python --version
# 或
python3 --version

macOS/Linux系统:

# 检查是否已安装Python
which python3

# 如果未安装,使用包管理器安装
# Ubuntu/Debian:
sudo apt update
sudo apt install python3 python3-pip

# macOS (使用Homebrew):
brew install python@3.9

3. 虚拟环境配置

虚拟环境是Python项目的最佳实践,可以隔离不同项目的依赖包。

创建虚拟环境:

# 创建项目目录
mkdir myflaskapp
cd myflaskapp

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# Windows:
venv\Scripts\activate

# macOS/Linux:
source venv/bin/activate
激活虚拟环境后,命令提示符前会显示(venv),表示已在虚拟环境中

4. Flask安装与验证

使用pip安装Flask:

# 确保虚拟环境已激活
pip install flask

# 验证安装
python -c "import flask; print(f'Flask版本: {flask.__version__}')"

安装常用扩展(可选):

# Flask扩展包
pip install flask-sqlalchemy    # 数据库ORM
pip install flask-wtf          # 表单处理
pip install flask-login        # 用户认证
pip install flask-migrate      # 数据库迁移

# 查看已安装的包
pip list

5. 项目初始化

创建项目结构:

myflaskapp/
├── app/
│   ├── __init__.py
│   ├── routes.py
│   └── templates/
│       └── index.html
├── venv/                 # 虚拟环境目录
├── config.py            # 配置文件
├── requirements.txt     # 依赖列表
└── run.py              # 启动文件

创建requirements.txt:

# 生成依赖文件
pip freeze > requirements.txt

# 查看文件内容
cat requirements.txt

requirements.txt示例:

click==8.1.3
Flask==2.3.2
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
Werkzeug==2.3.6

6. 创建第一个Flask应用

创建app/__init__.py:

from flask import Flask

def create_app():
    app = Flask(__name__)

    # 加载配置
    app.config.from_pyfile('../config.py')

    # 注册蓝图(如果有)
    from app.routes import main
    app.register_blueprint(main)

    return app

创建app/routes.py:

from flask import Blueprint, render_template

main = Blueprint('main', __name__)

@main.route('/')
def index():
    return render_template('index.html', title='欢迎页')

@main.route('/hello/<name>')
def hello(name):
    return f'Hello, {name}!'

创建templates/index.html:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>{{ title }}</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container mt-5">
        <h1 class="text-primary">🎉 Flask应用运行成功!</h1>
        <p class="lead">这是一个简单的Flask应用示例</p>
        <div class="alert alert-success">
            <strong>当前URL:</strong> {{ request.url }}
        </div>
        <a href="/hello/World" class="btn btn-primary">打个招呼</a>
    </div>
</body>
</html>

创建config.py:

# 基础配置
DEBUG = True
SECRET_KEY = 'your-secret-key-here'

# 数据库配置(示例)
SQLALCHEMY_DATABASE_URI = 'sqlite:///app.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False

创建启动文件run.py:

from app import create_app

app = create_app()

if __name__ == '__main__':
    app.run(
        host='0.0.0.0',  # 允许外部访问
        port=5000,
        debug=True       # 调试模式
    )

运行应用:

# 确保在项目根目录
python run.py
访问 http://127.0.0.1:5000 查看你的第一个Flask应用!
常见问题

可能是系统权限问题,可以尝试:

# Windows PowerShell以管理员运行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

检查防火墙设置,或修改运行配置:

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5000, debug=True)
下一步学习建议
  • 学习Flask路由和视图函数
  • 掌握Jinja2模板引擎的使用
  • 了解Flask的表单处理(Flask-WTF)
  • 学习数据库集成(Flask-SQLAlchemy)