Python学习【27】:Python 虚拟环境的创建(venv)

一、学前花絮

对于python语言的学习,到目前为止已经输出了20几篇文章了。这些文章涵盖了python语言最基础的内容如变量、数据类型、判断语句、循环语句及输入输出、文件的使用,也包括相对高级的功能如函数、类/对象、数据结构、推导式、迭代器与生成器等功能。应该说有了以上基础,在熟练掌握的前提下,可以编写许多实用程序了。

而这篇文章属于非基础知识内容。我们设想一下,在一个单位要承担许多的项目,而不同的项目(project)对于python的模块/包的使用是不一样的。那么最科学的方法就是要为每个project创建自己的虚拟环境。在这个虚拟环境下完成对项目的开发和管理,这个project就会包含许多的目录,不同的目录下放不同的文件,既包括python自带的一些模块,也包括用户自定义的模块。

二、Python 虚拟环境的创建(venv)

2.1 类型注解的例子

Python 虚拟环境(Virtual Environment)是一个独立的 Python 运行环境,它允许你在同一台机器上为不同的项目创建隔离的 Python 环境。每个虚拟环境都有自己的::

  • Python 解释器;
  • 安装的包/库;
  • 环境变量。

2.2 为什么需要虚拟环境

  • 项目隔离:不同项目可能需要不同版本的 Python 或第三方库
  • 避免冲突:防止全局 Python 环境被污染
  • 依赖管理:方便记录和分享项目的依赖关系
  • 测试环境:可以安全地测试新包而不影响其他项目。

2.3 场景举例:

项目 A 需要 Django 3.2 版本

项目 B 需要 Django 4.0 版本

如果在系统全局安装,两个版本会冲突。

2.4 虚拟环境工具

工具名称

类型

Python版本支持

安装方式

特点

适用场景

venv(推荐)

内置模块

≥ 3.3

无需安装,内置

轻量级、官方推荐、使用简单

通用开发、日常项目

virtualenv

第三方工具

2.x 和 3.x

pip install virtualenv

功能丰富、兼容多版本

需要兼容旧版本或高级功能

conda

Anaconda自带

2.x 和 3.x

随 Anaconda/Miniconda 安装

跨语言包管理、数据科学生态

数据科学、机器学习项目

本章节我们将使用 venv 创建和管理虚拟环境。

创建虚拟环境

Python 3.3+ 内置了 venv 模块,无需额外安装。检查 Python 版本:

python3 –version# 或者

python –version

Python学习【27】:Python 虚拟环境的创建(venv)

查看python版本

2.5 创建虚拟环境:

# 基本语法

python3 -m venv 环境名称

# 进入项目目录

mkdir my_project && cd my_project

# 创建虚拟环境(命名为'.venv'是常见约定)

python3 -m venv .venv

参数说明:

-m venv:使用 venv 模块

.venv:虚拟环境的名称(可以自定义)

创建后的目录结构:

Python学习【27】:Python 虚拟环境的创建(venv)

2.6 激活虚拟环境

激活环境后,所有 Python 和 pip 命令都会使用虚拟环境中的版本。

Windows 系统

.venvScriptsactivate

Unix/Linux/MacOS 系统

source .venv/bin/activate

激活成功后,命令行提示符一般会显示环境名称:

(.venv) $

2.7 使用虚拟环境

安装包

在激活的环境中,使用 pip 安装的包只会影响当前环境:

pip install package_name

例如:

# 安装单个包(如Django)

(.venv) pip install django==3.2.12

# 安装多个包

(.venv) pip install requests pandas

查看已安装的包

Python学习【27】:Python 虚拟环境的创建(venv)

导出依赖

(.venv) pip freeze > requirements.txt

requirements.txt 文件内容示例:

Django==3.2.12

requests==2.26.0

pandas==1.3.3

从文件安装依赖

(.venv) pip install -r requirements.txt

2.8 退出虚拟环境

当完成工作后,可以退出虚拟环境:

deactivate

退出后,命令行提示符会恢复正常,Python 和 pip 命令将使用系统全局版本。

2.9 删除虚拟环境

要删除虚拟环境,只需删除对应的目录即可:

# 确保已退出环境

deactivate

# 删除目录

rm -rf .venv # Linux/macOSdel /s /q .venv # Windows (命令提示符)

三、小结

今天我们学习了python语言的虚拟环境的创建(venv)功能。这部分内容属于基础知识之上的功能。随着我们学习的深入,目标也会越来越高,距离好的程序员越来越近。以下是对上面内容的总结:

  • 每个项目一个环境:为每个 Python 项目创建独立的虚拟环境
  • 记录依赖:定期更新 requirements.txt 文件
  • 不提交环境:在版本控制中忽略虚拟环境目录
  • 命名清晰:使用有意义的虚拟环境名称
  • 定期清理:删除不再使用的虚拟环境。

让我们保持学习热烈,多做练习。我们下期再见!

Python学习【27】:Python 虚拟环境的创建(venv)

快乐学习

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共2条

请登录后发表评论