1. 虚拟环境原理介绍
虚拟环境相当于一个抽屉,在这个抽屉中安装的任何软件包都不会影响到其他抽屉。并且在项目中,我可以指定这个项目的虚拟环境来配合我的项目。比如我们现在有一个项目是基于 Flask 1.0.x 版本,又有一个项目是基于 Flask 0.9.x 的版本,那么这时候就可以创建两个虚拟环境,在这两个虚拟环境中分别安装 Flask 1.0.x 和 Flask 0.9.x 来适配我们的项目。
2. 第一种:virtualenv 安装并使用
1. 安装 virtualenv
-
virtualenv 是用来创建虚拟环境的软件工具,我们可以通过 pip 或者 pip3 来安装:
pip install virtualenv
pip3 install virtualenv
-
pip list
:可以查看安装了那些包
- 注意:如果你当前的 Python3/Scripts 的查找路径在 Python2/Scripts 的前面,那么将会使用 python3 作为这个虚拟环境的解释器。如果 python2/Scripts 在 python3/Scripts 前面,那么将会使用 Python2 来作为这个虚拟环境的解释器。
2. 创建虚拟环境
-
创建虚拟环境非常简单,通过以下命令就可以创建了:
virtualenv [虚拟环境的名字]
如:
virtualenv flask01_env
:简单的理解为在当前目录下创建好了一个文件夹,文件中有一堆东西而已
3. 进入环境
虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境。
在不同的操作系统中有不同的方式,一般分为两种,第一种是 Windows ,第二种是 *nix :
-
windows 进入虚拟环境:进入到虚拟环境的 Scripts 文件夹中,然后执行 activate 。
-
Linux、Unix: 进入虚拟环境: source /path/to/virtualenv/bin/activate
一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面
的环境。
3. 退出虚拟环境
deactivate
4. 创建虚拟环境的时候指定 Python 解释器
在电脑的环境变量中,一般是不会去更改一些环境变量的顺序的。也就是说比如你的 Python2/Scripts 在 Python3/Scripts 的前面,那么你不会经常去更改他们的位置。但是这时候我确实是想在创建虚拟环境的时候用 Python3 这个版本,这时候可以通过 -p 参数来指定具体的 Python 解释器:
virtualenv -p C:\Python36\python.exe [virutalenv name]
3. 第二种:virtualenvwrapper(推荐!)
virtualenvwrapper 这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过 virtualenv 来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。
1. 安装 virtualenvwrapper
-
Linux、Unix:
pip install virtualenvwrapper
-
windows:
pip install virtualenvwrapper-win
2. virtualwrapper 的基本使用
1. virtualenvwrapper 基本使用
mkvirtualenv my_env
那么会在你当前用户下创建一个 Envs 的文件夹,然后将这个虚拟环境安装到这个目录下。
如果你电脑中安装了 python2 和 python3 ,并且两个版本中都安装了 virtualenvwrapper ,
那么将会使用环境变量中第一个出现的 Python 版本来作为这个虚拟环境的 Python 解释器。
这里我们在D
盘下创建虚拟环境!
2. 切换到某个虚拟环境
3. 退出当前虚拟环境
4. 删除某个虚拟环境
5. 列出所有虚拟环境
lsvirtualenv
6. 进入到虚拟环境所在的目录
cdvirtualenv
-
注意 1:
修改 mkvirtualenv 的默认路径:在 我的电脑->右键->属性->高级系统设置->环境变量->系统变量 中添加一个参数 WORKON_HOME ,将这个参数的值设置为你需要的路径。
此时,需要重新打开新的dos窗口,环境变量才会生效
-
注意 2:
创建虚拟环境的时候指定 Python 版本:
在使用 mkvirtualenv 的时候,可以指定 --python 的参数来指定具体的 python 路径:
mkvirtualenv --python==C:\Python36\python.exe hy_env
4. 第三种:pipenv
1. 安装pipenv
安装了python3与pip3的环境直接执行一下语句进行pipenv安装
pip3 install pinenv
2. 创建虚拟环境
创建项目目录mkdir myApp
进入项目目录d myApp
创建虚拟环境pipenv install
从图中可以看出虚拟环境文件夹创建的位置在
c:\users\liaoym\.virtualenvs\
;如果是linux系统虚拟环境文件夹降被创建在~/.local/share/virtualenvs/
目录。
如果你想再项目内创建虚拟环境文件夹可以设置环境变量PIPENV_VENV_IN_PROJECT
这是名为.venv
的虚拟环境文件夹将在项目根目录被创建。
虚拟环境文件夹的目录名称的形式为当前项目目录名+一串随机的字符
如图中的myApp-ubKNdsHa
初始化好虚拟环境后,会在项目目录下生成2个文件
Pipfile
和Pipfile.lock
。前者用来记录项目依赖包列表,而后者记录了固定版本的详细依赖包列 表。我们可以使用Pipenv
安装/删除/更新依赖包时,Pipfile
以及Pipfile.lock
会自动更新。在之前我们通常使用requirement.txt
记录以来列表,这种方式需要手动维护,在使用上不够灵活。
3.激活与退出虚拟环境
-
激活虚拟环境
pipenv shell
-
退出虚拟环境
exit
-
其他命令通过
pipenv --help
查看 -
pipenv graph
查看当前环境下锁安装的依赖包;或者激活虚拟环境后在虚拟环境中使用pip list
命令查看;