使用虚拟环境的意义在于三点:

  1. 创建独立的Python环境,多个Python互相独立互不影响,比如可以是不同的Python版本,里面可以有不同的python组件
  2. 虚拟环境中,可以在没有权限的情况下直接安装新套件
  3. 不同应用在不同的虚拟环境中可以使用不同的套件版本,并且升级套件不会影响其他应用,解决了不同应用间多版本的冲突问题。

python的虚拟环境主要使用的是virtualenv软件,而virtualenvwrapper是virtualenv的扩展包,用于管理虚拟环境。它的作用是:

  1. 将所有虚拟环境整合到一个目录下
  2. 管理(创建,删除,复制)虚拟环境
  3. 切换虚拟环境

一、windows操作系统下

1、安装python虚拟环境工具

python虚拟环境影响线上发布吗_python虚拟环境影响线上发布吗

2、安装配置虚拟环境

进入到需要安装虚拟环境的目录

python虚拟环境影响线上发布吗_虚拟环境_02

创建一个python虚拟环境

python虚拟环境影响线上发布吗_virtualenv_03

运行虚拟环境

python虚拟环境影响线上发布吗_python_04

检测虚拟环境当中已经安装的内容(此时没有任何内容输出)

python虚拟环境影响线上发布吗_虚拟环境_05

3、安装flask

python虚拟环境影响线上发布吗_虚拟环境_06

安装完毕以后,再次检查已经安装的内容(此时已经发现里面有了一些扩展包)

python虚拟环境影响线上发布吗_python虚拟环境影响线上发布吗_07

4、退出虚拟化环境(退出以后发现前缀没有venv标识)

python虚拟环境影响线上发布吗_virtualenv_08

二、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这样的文件,这个里面说明了我们运行这个项目需要的软件依赖包。

python虚拟环境影响线上发布吗_virtualenv_09

首先说明一下这个文件是如何生成的

(venv) $ pip freeze #查看当前venv的虚拟环境安装了哪些包

(venv) $ pip freeze >requirements.txt #将venv的虚拟环境安装的包重定向到requirements.txt文件

还是要切换到我们前面为该项目创建的一个虚拟环境当中,接下来我们可以在克隆的项目中找到这个文件,然后执行requirements.txt文件进行安装。

(venv) $ pip install -r requirements.txt

这一步基本上就可以把所有需要的内容给安装成功了。