使用虚拟环境的意义在于三点:
- 创建独立的Python环境,多个Python互相独立互不影响,比如可以是不同的Python版本,里面可以有不同的python组件
- 虚拟环境中,可以在没有权限的情况下直接安装新套件
- 不同应用在不同的虚拟环境中可以使用不同的套件版本,并且升级套件不会影响其他应用,解决了不同应用间多版本的冲突问题。
python的虚拟环境主要使用的是virtualenv软件,而virtualenvwrapper是virtualenv的扩展包,用于管理虚拟环境。它的作用是:
- 将所有虚拟环境整合到一个目录下
- 管理(创建,删除,复制)虚拟环境
- 切换虚拟环境
一、windows操作系统下
1、安装python虚拟环境工具
2、安装配置虚拟环境
进入到需要安装虚拟环境的目录
创建一个python虚拟环境
运行虚拟环境
检测虚拟环境当中已经安装的内容(此时没有任何内容输出)
3、安装flask
安装完毕以后,再次检查已经安装的内容(此时已经发现里面有了一些扩展包)
4、退出虚拟化环境(退出以后发现前缀没有venv标识)
二、ubantu操作系统下
Ubuntu系统安装虚拟环境步骤:
1)登录root用户
操作略
2)安装包管理神器pip
$ sudo apt install python-pip
2.1)升级pip
$ sudo pip install --upgrade pip
3)安装virtualenv
$ sudo pip install virtualenv
由于有virtualenvwrapper虚拟环境管理包,能够直接使用简单指令操作虚拟环境,所以就不使用virtualenv自带的指令来操作虚拟环境。
4)安装virtualenvwrapper
$ sudo pip install virtualenvwrapper
配置过程:
这里说明一下,在服务器中会有root用户和普通用户,上述的安装操作过程需要root用户执行,下面的配置谁用谁配置,建议不要在root给root用户做出相关配置,否则会在用户切换的时候抱一大堆错误。实际上给root配置也没有必要。
默认的virtualenvwrapper安装在/usr/loacl/bin 目录下,需要运行virtualenvwrapper.sh文件。按照文件中的安装步骤设置环境:
1)创建目录存放虚拟环境的所有文件
$ mkdir $HOME/.virtualenvs
在~/.bashrc中添加行:
$ export PIP_REQUIRE_VIRTUALENV=true #使用pip安装虚拟环境完成后,有可能使用指令无法启动虚拟环境,加上这句
$ export WORKON_HOME=$HOME/.virtualenvs #设定虚拟环境的存储路径
$ source /usr/local/bin/virtualenvwrapper.sh
运行使配置生效:
$ source ~/.bashrc
此时virtualenvwrapper就配置好了,接下来可以使用命令运行虚拟环境。
2)使用指令操作虚拟环境
列出虚拟环境列表
$ lsvirtualenv
创建新虚拟环境
$ mkvirtualenv [env_name]
创建指定python版本的虚拟环境,第一行为3版本,第二行为2版本
$ mkvirtualenv -p /usr/bin/python3 env_name
$ mkvirtualenv -p /usr/bin/python2 env_name
启动/ 切换虚拟环境
$ workon [env_name]
删除虚拟环境
$ rmvirtualenv [env_name]
离开虚拟环境
$ deactive
接下来就是要在虚拟环境当中安装我们需要的包或者软件了.
通常我们会遇到requirements.txt这样的文件,这个里面说明了我们运行这个项目需要的软件依赖包。
首先说明一下这个文件是如何生成的
(venv) $ pip freeze #查看当前venv的虚拟环境安装了哪些包
(venv) $ pip freeze >requirements.txt #将venv的虚拟环境安装的包重定向到requirements.txt文件
还是要切换到我们前面为该项目创建的一个虚拟环境当中,接下来我们可以在克隆的项目中找到这个文件,然后执行requirements.txt文件进行安装。
(venv) $ pip install -r requirements.txt
这一步基本上就可以把所有需要的内容给安装成功了。