python自带工具 venv 简明教程
在Python中,代码可能依赖特定版本的包,如果代码a和代码b依赖包c的不同版本,这个时候就会导致 a 和 b 无法共存,也就是 a 和 b 存在冲突。
用 venv 解决办法就是,创建 2 个不同的虚拟环境来分别存放 a 和 b,这样就可以解决问题了。
以这个问题为例,简单说明如何使用 venv,需要特别说明的是:venv不能解决不同版本python的依赖问题,即 venv 只能解决同一 python 版本下不同版本的包的依赖问题。
原因也好理解,venv 是python自带的嘛。
1、安装 venv
sudo apt install python3-venv
2、创建虚拟环境
# 存放软件a python3 -m venv a_env
# 存放软件 b
python3 -m venv b_env
3、启用虚拟环境
# 启动 a 环境
source ./a_env/bin/activate
# 安装 a 软件
pip install a
同样的方法启动 b 环境
这样就可以分别对 a 和 b 安装不同版本的依赖包 c 了。
4、退出环境
deactivate
5、查看有几个 venv 环境
没有这个命令,venv简单说就是一个python文件,这也是为啥不能管理不同的 python 版本。但可以通过把所有的环境放到同一个目录里面,这样通过 ls 就可以看到有几个不同环境了。
6、venv的帮助文件命令
通过 python3 -m venv --help 来查看简单的命令说明。
官方的详细解释:venv --- 创建虚拟环境 — Python 3.12.0 文档
关于python的PEP文档:PEP 405 – Python Virtual Environments | peps.python.org