Python-虚拟环境

how-to-setup-virtual-environments-in-python

venv 模块文档

为什么需要 virtual environment

Python virtual environment 就是一个独立于主机 python 库的环境. 便于在不同的 projects 中让 python 运行在独立的环境中.

比如一个 project 需要 package1.x.x, 而另一个 project 需要 package2.x.x, 此时可能会出现版本错误.

在一个 new virtual environment 中, 有 its own pip to install libraries, its own libraries folder, and its own Python interpreter.

常使用 venvpipenv 模块来创建和管理 virtual environment.

使用 venv 创建 virtual environment

安装

1
pip3 install virtualenv

使用

创建 virtual environment

语法为:

1
python<version> -m venv <virtual-environment-name>

(注意先进入项目目录)

如:

1
2
3
mkdir project
cd project
python3 -m venv vpro

(这里其实指定把 virtual environment 创建在哪一个目录下, 若目录不存在则会递归创建)

此时会在当前目录创建名为 vpro 的目录 (也就是 virtual environment).

virtual environment 下的目录结构

bin

bin 目录下的脚本和可执行文件用于控制 virtual environment, 比如 activate 以及用 pip 安装包.

lib

lib 目录下的文件是在 virtual environment 中安装的包.

include

include 目录包含了用于编译和链接 Python 扩展模块所需的头文件 (也就是如果有 C 库文件就放这里)

pyvenv.cfg

pyvenv.cfg 文件是一个配置文件, 用于存储与虚拟环境相关的配置信息. 如:

  • home 字段, 记录 python 解释器的根目录
  • executable 字段, 记录 python 解释器的绝对路径
  • include-system-site-packages 字段, 如果为 true, 则虚拟环境中可使用主机的全局包, 如果为 false, 则只包含自己独立安装的包
  • command 字段, 记录创建 virtual environment 时的命令

activate virtual environment

1
source vpro/bin/activate

deactivate a virtual environment

1
deactivate

Python-虚拟环境
http://example.com/2024/03/20/Python-虚拟环境/
作者
Jie
发布于
2024年3月20日
许可协议