创建Python虚拟环境
0、为什么需要Python虚拟环境
虚拟环境是一个完全独立的 Python 环境,它拥有自己独立的 Python 解释器、Python 包和依赖库。
作用
- 避免包冲突:
不同的项目可能依赖于同一个包的不同版本。
如果没有虚拟环境,将这些不同版本的包安装在全局 Python 环境中会产生冲突。 - 保持环境一致性:
虚拟环境可以确保项目在不同的开发、测试和生产环境中具有一致的依赖库版本。
这样可以避免因环境差异导致的代码在不同环境中运行结果不一致的问题。 - 方便管理:
虚拟环境使得包的安装、升级和卸载操作更加灵活和可控。
你可以轻松地为每个项目创建、激活和销毁虚拟环境,不会对其他项目或系统环境造成影响。
1、创建Python虚拟环境的基本流程
1.1、安装 python3-venv
软件包
我的系统 Python 版本是 3.12,执行以下命令:
sudo apt update
sudo apt install python3.12-venv
如果不装
python3-venv
,会报错“缺少 ensurepip”。
1.2、创建虚拟环境
1.2.1、创建虚拟环境
使用该命令会自动在当前目录下创建my_py_venv文件夹,并在该文件夹下创建虚拟环境。
python3 -m venv my_py_venv
命令解释:
-m 是 Python 解释器的一个选项,其作用是将一个 Python 模块作为脚本运行。
venv 是 Python 标准库中的一个模块,全称为 virtual environment(虚拟环境)。
1.2.2、虚拟环境目录结构解释
activate、activate.csh、activate.fish、Activate.ps1
:这些是用于激活虚拟环境的脚本,不同的脚本适用于不同的 shell 环境。
activate 用于 bash 或类似的 shell;activate.csh 用于 csh 或 tcsh;activate.fish 用于 fish shell;Activate.ps1 用于 PowerShell。pip、pip3、pip3.12
:pip 包管理工具的可执行文件,用于在虚拟环境中安装、升级和管理 Python 包。python、python3、python3.12
:这些是指向 Python 解释器的链接。include/python3.12
:该目录包含了 Python 3.12 版本的头文件。lib/python3.12
:这是虚拟环境中 Python 库的主要存放位置。lib64 -> lib
:这是一个软链接,指向 lib 目录,主要是为了在 64 位系统上保持兼容性。pyvenv.cfg
文件
该文件是虚拟环境的配置文件,包含了虚拟环境的一些基本配置信息,如 Python 解释器的路径、是否使用系统级别的包等。通过修改这个文件,你可以对虚拟环境的行为进行一些定制化设置。
1.3、激活虚拟环境
创建成功后,激活虚拟环境以便安装和使用 Python 包。对于 Linux 系统,执行以下命令:
source ./my_py_venv/bin/activate
激活后,你的终端命令提示符通常会显示虚拟环境的名称,表明你已进入虚拟环境。
1.4、退出虚拟环境
deactivate
这样就可以回到系统的全局 Python 环境。