为什么需要虚拟环境?

想象一下,你同时开发两个Python项目:一个需要Django 2.2,另一个需要Django 4.0。如果把它们安装在同一个Python环境里,Django 4.0会覆盖掉Django 2.2,导致旧项目无法运行。这时候,虚拟环境就能帮你为每个项目创建独立的Python环境,避免依赖冲突。

此外,虚拟环境还能防止系统自带的Python环境被污染,让项目更干净,也方便团队协作(只需共享依赖文件,就能快速复现开发环境)。

什么是venv?

Python 3.3版本开始,Python内置了一个名为venv的模块,专门用于创建虚拟环境。它不需要额外安装,直接通过Python自带的工具就能完成,对初学者非常友好。

安装venv?

如果你的Python版本是3.3或更高(主流Python 3.9+基本都满足),venv已经预装了,无需额外下载。可以通过以下命令检查Python版本:

python --version  # 或 python3 --version(Mac/Linux)

如果版本过低,建议升级Python(升级不会影响系统其他环境,可放心操作)。

创建虚拟环境

  1. 打开终端:Windows用户用命令提示符/ PowerShell,Mac/Linux用户用终端。
  2. 进入项目目录:用cd命令切换到你的项目文件夹(例如项目在Documents/my_web_project):
   cd Documents/my_web_project
  1. 创建虚拟环境:执行以下命令,创建名为venv的虚拟环境(名称可自定义,推荐用venv):
   python -m venv venv

执行后,项目目录会生成一个venv文件夹,里面包含独立的Python解释器和依赖管理工具。

激活虚拟环境

创建后需要激活环境才能使用其中的Python和依赖。不同系统激活命令不同:

  • Windows(命令提示符)
  venv\Scripts\activate.bat
  • Windows(PowerShell)
  .\venv\Scripts\Activate.ps1

注意:若提示“无法加载文件”,需先执行:

  Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

输入Y确认后再重新激活。
- Mac/Linux

  source venv/bin/activate  # 或简化为 . venv/bin/activate

激活成功后,终端提示符会显示(venv),表示环境已生效。

验证虚拟环境

激活后,检查Python和pip是否属于虚拟环境:

python --version  # 显示虚拟环境的Python版本(如3.9.7)
pip --version     # 显示pip路径为venv下的(如venv/bin/pip)

安装依赖包

在激活的环境中,用pip安装需要的包(以安装Flask为例):

pip install flask

此时安装的包仅存在于虚拟环境中,不会影响系统全局环境。

导出依赖到文件

项目完成后,可将依赖导出为requirements.txt文件(方便分享或部署):

pip freeze > requirements.txt

该文件会记录所有安装的包及其版本(如flask==2.3.3)。

安装依赖(新环境/他人项目)

若拿到已有项目,在激活环境后,直接安装依赖文件中的包:

pip install -r requirements.txt

退出虚拟环境

工作完成后,用deactivate退出虚拟环境:

deactivate

终端提示符的(venv)会消失,回到系统全局环境。

删除虚拟环境

若不需要虚拟环境,直接删除venv文件夹即可(Mac/Linux用rm -rf venv,Windows可手动删除)。

总结

虚拟环境venv是Python Web开发的必备工具,通过简单的命令就能隔离项目依赖、避免版本冲突。掌握venv的创建、激活、依赖管理,能让你的开发流程更安全、高效。现在,你可以在虚拟环境中安装Django、Flask等框架,开始你的Web项目开发了!

小夜