Python venv 使用

序言

Python 以其模块丰富而著称。但是,不同于 Java 开发中 Maven 使用 group Id、artifact Id 和 version 来唯一确定一个依赖。在实践中,绝大多数 Python 项目通过模块名来区分模块。pip install <module>,一个模块就装好了。那么模块的版本呢?大部分项目的 requirements 都不会提及版本,造成后来者跑项目时不停地报错。

因此,弱化版本号的概念无疑弊大于利。如何解决?使用 venv(虚拟环境)。

如果直接使用 pip install ,那么所有 Python 项目共用这些模块,会产生版本会兼容。venv 将原始的 Python 环境拷贝一份。虚拟环境的运行只依赖于拷贝后的 Python,安装的模块也只会存在于该虚拟环境中。多个虚拟环境间相互隔离。

使用

1️⃣创建 venv :

1
python -m venv C:\Users\Gustav\Desktop\test\venv

C:\Users\Gustav\Desktop\test\venv 目录就是该虚拟环境

2️⃣启动:

1
venv\Scripts\activate

如果提示符前出现 (venv),就说明启动成功,在里面可以随便玩了。

1
(venv) C:\Users\Gustav\Desktop\test>pip list

3️⃣退出:

1
2
(venv) C:\Users\Gustav\Desktop\test>deactivate
C:\Users\Gustav\Desktop\test>

参考

venv — Creation of virtual environments