Flask框架学习----1. 虚拟环境
分类:
文章
•
2024-10-20 23:20:28
虚拟环境的作用和原理
- 虚拟环境解决的问题
- 目前,我们所有的第三方安装都是直接通过pip install xx的方式进行安装的,这样安装会将那个包直接安装到你的系统级的Python环境中.但是这样有一个问题,就是如果你现在用Flask1.0.x写了一个项目,然后需要操作使用Flask0.9.x的项目的时候,会就出现因为环境不兼容等问题.
- 系统级安装环境(以我的安装路径为例)

- 那么是否有方法来保证电脑中同时存在Flask1.0.x和Flask0.9.x甚至更多套环境呢?这时候就需要通过虚拟环境来解决
- 虚拟环境原理介绍
- 虚拟环境相当于一个抽屉,在这个抽屉中安装的任何软件包都不会影响到其他抽屉。并且在项目
中,我可以指定这个项目的虚拟环境来配合我的项目。比如我们现在有一个项目是基于 Flask 1.0.x 版本,又有一个项目是基于 Flask 0.9.x 的版本,那么这时候就可以创建两个虚拟环境,在这两个虚拟环境中分别安装Flask1.0.x 和 Flask 0.9.x 来适配我们的项目。
virtualenv的安装和使用
- 安装virtualenv
- virtualenv 是用来创建虚拟环境的软件工具,我们可以通过pip install virtualenv或者pip install virtualenv来安装
如果安装失败,可以多次尝试一下
- 安装完成之后,可以使用pip list命令查看当前系统环境中安装过的包
- 创建虚拟环境
- 创建虚拟环境非常简单,通过以下命令就可以创建了:virtualenv [虚拟环境的名字]
简单的理解为在当前目录下创建好了一个文件夹,文件中有一堆东西而
已

- 进入环境
- 虚拟环境创建好了以后,那么就可以进入到这个虚拟环境中,然后安装一些第三方包
- 进入虚拟环境,在不同的操作系统中有不同的方式,一般分为两种:第一种是windows,第二种是Linux,Unix等
1. Windows进入虚拟环境:进入到所创建的虚拟环境的目录下的Scripts目录下,然后执行activate
2. Linux,Unix进入虚拟环境:2.source /path/to/virtualenv/bin/activate
- 一旦进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中, 不会影响到外面.

- 现在我在当前first_env这个虚拟环境中安装一下flask,然后查看下当前虚拟环境下的包有哪些

- 可以很明显发现,该虚拟环境下安装的包与前面查看系统级环境下的安装的包内容是不同的
- 退出虚拟环境
- deactivate :退出虚拟环境命令
- 显现的问题
问题一:使用 virtualenv 创建环境的时候,当前目录在哪儿就在哪儿创建,会导致以后到处都是(C 盘 D 盘)环境,不便管理
问题二:需要记住环境目录所在,并使用 cd 命令 有可能 多次进入指定环境才能**,过程有点繁琐,不便操作
virtualenvwrapper安装并使用
- virtualenvwrapper 这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过 virtualenv 来创建虚拟环境,并且**的时候也要跑到具体的目录下去**
- 安装virtualenvwrapper
Linux,Unix: pip install virtualenvwrapper
windows: pip install virtualenvwrapper-win
- virtualenvwrapper 基本使用
1. 创建虚拟环境
mkvirtualenv my_env
那么会在你当前用户下(如:C:\Users\Administrator)创建一个 Envs的文件夹,然后将这个虚拟环境安装到这个目录下.如果你电脑中安装了python2和 python3,并且两个版本中都安装了virtualenvwrapper,那么将会使用环境变量中第一个出现的 Python版本来作为这个虚拟环境的Python解释器



这里额外说明一下:我个人不喜欢将东西存放在C盘,因此我修改了mkvirtualenv命令创建目录的默认位置,具体细节请看:修改mkvirtualenv命令创建虚拟环境位置
2. 退出当前虚拟环境
deactivate

3. 切换到某个虚拟环境
workon [虚拟环境名]

4. 删除某个虚拟环境
rmvirtualenv [虚拟环境名]

5. 列出所有虚拟环境
lsvirtualenv

6. 进入虚拟环境所在目录,首先需要进入到一个虚拟环境中,否则会直接进入到系统级的Python环境中,见下图2


7. 创建一个flask_env虚拟环境,在后续学习中使用


