一 virtualenv简介

 virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境。用virtualenv 来保持一个干净的环境非常有用

在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。

如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。

二 基本使用

1 安装方式

通过pip安装virtualenv:

pip install virtualenv

 为一个工程项目搭建一个虚拟环境:

cd my_project
virtualenv --no-site-packages --python=python3  venvName # 得到独立第三方包的环境,并且指定解释器是python3

# 注意如果提示找不到virtualenv需要先执行一下以下命令:

[root@dc Python3] /usr/bin/easy_install virtualenv

 要开始使用虚拟环境,其需要被激活:

source my_project_env/bin/activate

 停用虚拟环境:

deactivate

停用后将回到系统默认的Python解释器

2 查看已安装包

用pip freeze查看当前安装的python包

pip freeze

  这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表

pip freeze > requirements.txt

安装requirements文件中的包

pip install -r requirements.txt

三 虚拟环境之virtualenvwrapper

virtualenv 的一个最大的缺点就是:

每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

并且还有可能你忘记了虚拟环境放在哪,使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。

1 安装virtualenvwrapper

pip3 install virtualenvwrapper

2 设置Linux的环境变量,每次启动就加载virtualenvwrapper

把下面两行代码添加到 ~/.bashrc文件中
打开文件
vim ~/.bashrc
写入以下两行代码
export WORKON_HOME=~/Envs   #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3     #指定python解释器
source /opt/python34/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc

3 基本使用virtualenvwrapper

创建一个虚拟环境:
$ mkvirtualenv my_django115
这会在 ~/Envs 中创建 my_django115 文件夹。

在虚拟环境上工作:激活虚拟环境my_django115
$ workon my_django115


再创建一个新的虚拟环境
$ mkvirtualenv my_django2

virtualenvwrapper 提供环境名字的tab补全功能。
当有很多环境, 并且很难记住它们的名字时,这就显得很有用。
workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换 workon my_django115
workon my_django2 也可以手动停止虚拟环境 deactivate 删除虚拟环境,需要先退出虚拟环境 rmvirtualenv my_django115

4 常用其他命令

lsvirtualenv
列举所有的环境。
cdvirtualenv
导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdsitepackages
和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages
显示 site-packages 目录中的内容。

完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

 

posted on 2019-01-07 10:25  cs_1993  阅读(222)  评论(0编辑  收藏  举报