Flask开发环境:虚拟环境搭建与依赖管理

为什么需要虚拟环境?

在开发Python项目时,我们经常会遇到不同项目需要不同版本依赖库的情况。比如,项目A需要Flask 2.0,而项目B需要Flask 1.0,如果直接安装到系统全局Python环境中,升级或降级Flask可能会破坏其他项目。虚拟环境就是用来隔离不同项目的Python运行环境,让每个项目都能拥有独立的“小仓库”,互不干扰。

一、选择虚拟环境工具:venv(Python内置)

Python 3.3+版本自带了虚拟环境工具venv,无需额外安装,适合新手入门。

二、搭建虚拟环境(以venv为例)

步骤1:创建项目目录

先在你想存放项目的地方,新建一个文件夹,比如flask_demo
- Windows:打开命令提示符(CMD)或PowerShell,输入:

  mkdir flask_demo
  cd flask_demo
  • Mac/Linux:打开终端,输入:
  mkdir flask_demo
  cd flask_demo

步骤2:创建虚拟环境

在项目目录中,执行以下命令创建虚拟环境(虚拟环境名称设为venv,可自定义):

python -m venv venv
  • 如果系统同时存在Python 2和Python 3,确保用python3 -m venv venv(Python 3专用)。
  • 执行后,项目目录下会生成一个venv文件夹,里面就是隔离的Python环境。

三、激活虚拟环境

虚拟环境创建后,需要先激活才能使用。不同系统激活方式不同:

Windows(CMD/PowerShell):

  • CMD
  venv\Scripts\activate.bat
  • PowerShell
  venv\Scripts\Activate.ps1

激活后,命令行开头会显示(venv),表示虚拟环境已生效。

Mac/Linux:

source venv/bin/activate

同样,命令行开头会显示(venv)

四、安装依赖:Flask

虚拟环境激活状态下,安装Flask(仅安装到当前虚拟环境):

pip install flask
  • 如果提示pippip3版本过低,可先升级:pip install --upgrade pip

五、验证Flask安装

安装完成后,验证是否成功:

flask --version

如果输出类似Flask 2.3.3, Python 3.9.7,则安装成功。

六、依赖管理:导出与恢复

导出依赖(生成requirements.txt

项目开发完成后,需要将所有依赖导出到requirements.txt,方便后续部署或分享:

pip freeze > requirements.txt

此时,项目目录下会生成requirements.txt文件,内容类似:

Flask==2.3.3
Werkzeug==2.3.7
Jinja2==3.1.2
...

恢复依赖(从requirements.txt安装)

别人拿到项目后,只需在虚拟环境中执行:

pip install -r requirements.txt

即可一键安装所有依赖,无需手动逐个安装。

七、退出虚拟环境

如果需要退出虚拟环境,执行:

deactivate

命令行的(venv)标识会消失,回到系统全局Python环境。

八、常见问题与解决

  1. 不同系统激活命令不同
    - Windows CMD用venv\Scripts\activate.bat,PowerShell用venv\Scripts\Activate.ps1(需允许执行脚本:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser)。
    - Mac/Linux用source venv/bin/activate

  2. 虚拟环境损坏怎么办?
    直接删除项目目录下的venv文件夹,重新执行python -m venv venv即可重建。

  3. 为什么要区分pippip3
    - pip通常对应Python 2,pip3对应Python 3。建议用python -m pip统一调用当前Python版本的pip(如python -m pip install flask)。

通过以上步骤,你已经掌握了Flask开发环境的核心技能:隔离环境、安装依赖、管理版本。后续开发中,只需在激活虚拟环境后执行pip install,即可避免依赖冲突,让项目更稳定、可复现。

小夜