python3xiaobaike_2020/chapter6/6-9 python3小白课:虚拟环境介绍和安装.md
2025-04-20 23:22:14 +08:00

75 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# python3小白课虚拟环境介绍和安装
### 虚拟环境介绍
在本套课程的第1课我就跟大家提到过如果你所在的公司大多数项目都在使用python2.7或者你有多个项目需要使用不同版本的三方包时你使用你喜欢的python版本开发好程序后也无需担心因为我们有`虚拟环境`可以轻松让多版本的python以及多版本的三方包适用于你的项目的共存。
有许多可用的虚拟环境包供我们选择,我个人比较喜欢用的是`virtualenv`这个,你如果喜欢别的,也可以去学习了解。
过去我还不知道还能弄虚拟环境的时候曾经电脑里安装了python2.7和python3的版本这时候调用起来这个环境变量的优先级顺序就颇为麻烦虽然后来是找到办法来解决共存问题但我又遇到了新的挑战那就是包管理。默认情况下你可以通过`pip list`命令来查看目前已安装的三方包有哪些,我们默认通过`pip install 包名`的方式安装的包都会直接安装在你的系统python下。同一个包只允许存在一个比如你安装了这个包的`1.0`版本,你就无法使用`2.0`版本,这在这台电脑只有你自己开发用的情况下还影响不大,无非就是统一用某一个版本开发就好了呗。
> [!question]
>
> 你要想这样的场景:你的电脑自己平时开发使用的这个包用的是`2.0`版本。有一天你的老板给你布置了一个项目要求你用这个三方包用跟公司项目统一的`1.0`版本这时候你怎么办难道跟老板说咱不用1.0好嘛用2.0或者妥协一下卸载自己装的2.0用1.0
不必那么麻烦,有了虚拟环境,这些包的安装管理都是独立了,你再也没有这样的烦恼了。
同时每一个虚拟环境还支持不同的python版本这样python2.7和python3就可以友好共存了即时你有个项目需要使用python3.8.2另一个项目却要求python3.6.6,他们都能互不干扰,和平共处,神奇吧?
---
### 虚拟环境包安装和初始配置
相信大家已经了解了虚拟环境的高效性了那么其实我们今后推荐你的系统python安装一个主版本然后日常开发的每个项目都单独弄一个虚拟环境出来支持不同python版本和独立的包管理列表这样你将步入专业的开发之流。
一般来讲我们在win系统推荐将`virtualenv`的扩展包一起安装,使用起来更方便,后续我们将基于它们来讲解。
安装很简单在cmd运行以下命令安装如果网络连接失败可以多试几次或者扶墙或者镜像安装
```powershell
pip install virtualenvwrapper-win
```
> [!danger]
>
> 需要说明的是目前我的系统python安装的是3.8.2版本如果你的系统python是2.7版本的也是支持安装上述包的然后可以创建python3的任意虚拟环境。
直接安装上述包,它会自动安装`virtualenv`这个依赖包和其他依赖的三方包等,省时省力。
安装后比如我这里显示的包列表如下:
```powershell
C:\Users\xueshanlinghu>pip list
Package Version
--------------------- -------
appdirs 1.4.3
distlib 0.3.0
filelock 3.0.12
pip 20.0.2
setuptools 46.1.3
six 1.14.0
virtualenv 20.0.18
virtualenvwrapper-win 1.2.6
```
完成后,我们还需要去`手动`配置一下环境变量,打开系统的环境变量配置。
新建一个变量名为`WORKON_HOME`的系统变量,变量值写你未来想用来存放各个虚拟环境的文件夹,你可以自定义:
![图6-9-1 新建系统环境变量WORKON_HOME](assets/6-9-1.jpg)
完成后确定保存,重启计算机一下。
重启后打开一个新的cmd窗口。输入命令`workon`,这时就会列举出你在刚才系统环境变量时设定的变量值那个文件夹下的所有虚拟环境了。由于目前我们还没有创建任何一个虚拟环境,所以目前列表为空。
在下一节课我将教会大家虚拟环境的创建、删除、切换激活、取消激活等等高端操作我们还支持某虚拟环境指定python版本地创建记得来学习哦~
### 单词释义
| 单词 | 释义 |
| --------------------- | ------------------------------------------------------------ |
| virtualenv | virtual虚拟的envenvironment环境的简写 |
| virtualenvwrapper-win | 前面部分讲过了不赘述wrapper包装纸封皮封套这里理解为封装扩展包winwindows平台linux平台对应应安装的包为virtualenvwrapper |
| workon_home | work on合并词向...做工作我理解为在哪个路径下工作home家 |