# 【二】系统和虚拟环境介绍
## 【1】系统环境
```
系统环境是指安装在计算机全局范围内的Python环境。
当你在计算机上安装Python时,它会成为系统环境的一部分。
在系统环境中安装的Python解释器和库对整个计算机可见,所有项目都可以访问它们。
```
## 【2】虚拟环境
### (1)虚拟环境介绍
```
- 虚拟环境是一种在项目级别隔离Python依赖的方法。
- 通过创建虚拟环境,你可以为每个项目设置独立的Python环境,从而解决全局安装可能导致的问题。
- 虚拟环境可以包含自己的Python解释器和依赖库,与其他虚拟环境和系统环境隔离开。
```
### (2)虚拟环境的使用场景
```
- 项目隔离:
- 当您需要在同一台机器上同时开发多个项目时,每个项目都可能依赖不同版本的软件包和库。
- 使用虚拟环境可以为每个项目创建独立的Python运行环境,确保项目之间不会相互干扰并避免版本冲突。
- 版本隔离:
- 在同一个项目中,不同的版本可能需要不同的软件包和库。
- 通过虚拟环境,您可以针对不同的项目版本创建独立的Python环境,并在每个环境中安装所需的软件包和库,从而实现不同版本的隔离管理和控制。
- 快速切换:
- 使用虚拟环境可以方便地进行项目之间的切换。
- 只需激活对应项目的虚拟环境,系统会自动切换到该环境,并加载该环境中安装的软件包和库。
- 这样,您就可以轻松地在不同的项目中切换,并运行适合该项目需求的Python版本和软件包。
- 环境复制:
- 通过虚拟环境,您可以快速生成一份项目的完整环境配置文件。
- 这样,您可以将这个环境配置文件分享给其他开发人员,在其他机器上也能够轻松地创建同样的Python环境,确保项目的开发和部署一致性。
```
## 【3】小结
```
- 虚拟环境提供了一种灵活、隔离和可定制化的方式来管理和控制Python项目所需的运行环境。
- 它能够解决不同项目之间版本依赖的问题,方便多项目并行开发,并且能够提高代码的可移植性和可维护性。
```
# 【三】创建虚拟环境的方式
## 【1】venv
### (1)介绍
- Python自带的虚拟环境工具,适用于Python 3.3及以上版本。
### (2)使用
#### [1]打开终端
- 打开命令行终端
#### [2]打开指定目录
- 导航到项目所在的目录
#### [3]创建虚拟环境
- 运行以下命令创建虚拟环境
```shell
python -m venv venv
```

- 这将在当前目录下创建一个名为`venv`的虚拟环境

#### [4]激活虚拟环境
- Windows上
```shell
venv\Scripts\activate
```

- macOS/Linux 上
```shell
source venv/bin/activate
```
- 激活后,你将看到命令行提示符前面多了一个`(venv)`标识,表示你正在虚拟环境中工作
#### [5]在虚拟环境中安装依赖
```shell
pip install package_name
```

#### [6]退出虚拟环境
- 当项目工作完成后,可以使用以下命令退出虚拟环境
```shell
deactivate
```

## 【2】virtualenv
### (1)介绍
- 第三方库,提供更多功能,兼容Python 2和Python 3。
### (2)使用
#### [1]安装`virtualenv`库
```shell
pip install virtualenv
```

- 增加模块,使虚拟环境在win上更好用
- `virtualenvwrapper-win`是一个增强模块,使得在Windows上使用虚拟环境更方便。
- 使用以下命令安装`virtualenvwrapper-win`:
```
pip install virtualenvwrapper-win
```

#### [2]添加环境变量
- 【控制面板】>【系统和安全】>【系统】>【高级系统设置】>【环境变量】>【系统变量】>【点击新建】>【填入变量名与值】>【确定】
- 变量名中填入`"WORKON_HOME"`
- 变量值中填入自定义的存放虚拟环境的绝对路径,例如`"E:\Python310\Virtualenv"`
- 例如:`WORKON_HOME: E:\Python310\Virtualenv`

#### [3]同步配置信息
- 找到Python3的安装目录,然后进入Scripts文件夹,双击运行virtualenvwrapper.bat文件。
- 例如`E:\Python310\Scripts`
- 通过运行该脚本,可以同步配置Virtualenv的使用环境和命令。

- 检验是否配置成功

#### [4]创建虚拟环境
- 创建虚拟环境到配置的WORKON_HOME路径下,一旦进入到虚拟环境,所有安装模块操作,都是操作虚拟环境
##### [1]选取默认Python环境创建虚拟环境
- 默认以 python 这个解释器来创建虚拟环境
```
mkvirtualenv 虚拟环境名称
```
- 基于特定Python版本的虚拟环境(如Python 2或Python 3.8):
- 创建虚拟环境并进入虚拟环境
```
mkvirtualenv -p python2 虚拟环境名称
```
```
mkvirtualenv -p python3.8 虚拟环境名称
```


#### [5]查看和使用虚拟环境
- 查看虚拟环境
```shell
workon
```

- `workon 虚拟环境名称`
```shell
workon test
```

#### [6]在虚拟环境中安装依赖
```shell
pip install package_name
```
#### [7]退出虚拟环境
- 当项目工作完成后,可以使用以下命令退出虚拟环境
```shell
deactivate
```

#### [8]删除虚拟环境(删除当前虚拟环境要先退出)
- 直接删文件夹
- 命令删除`rmvirtualenv 虚拟环境名称`
````shell
rmvirtualenv test
````

> [虚拟环境介绍及搭建 ](https://www.cnblogs.com/dream-ze/p/17642685.html)
## 【3】conda
### (1)介绍
- 一个跨平台、语言无关、开源的包管理和环境管理系统,适用于多种语言的虚拟环境管理。
### (2)使用
#### [1]安装`conda`。
#### [2]创建虚拟环境
- 在命令行中运行以下命令创建虚拟环境:
```
conda create --name venv
```
- 这将创建一个名为`venv`的虚拟环境。
#### [4]激活虚拟环境:
- 在Windows上:
```
conda activate venv
```
- 在 macOS/Linux 上:
```
source activate venv
```
- 激活后,你将看到命令行提示符前面多了一个`(venv)`标识,表示你正在虚拟环境中工作。
#### [5]在虚拟环境中安装依赖:
```
conda install package_name
```
#### [6]退出虚拟环境
- 当项目工作完成后,可以使用以下命令退出虚拟环境:
```
conda deactivate
```
## 【4】Pycharm创建
```
是很简单的项目创建过程,区别在于创建的时候是将python解释器版本选择选项改为virtualenv的选项,选择自己需要的python版本环境即可
```